LPC vector quantization apparatus

ABSTRACT

The present invention carries out pre-selection on many LPC codevectors stored in an LSF codebook  101  using a weighted Euclidean distortion as a measure and carries out a full-code selection on the LPC codevectors left after the pre-selection using an amount of distortion in a spectral space as a measure. This makes it possible to improve the quantization performance of the LPC parameter vector quantizer and improve the quality of synthesized speech of the speech coder/decoder.

TECHNICAL FIELD

The present invention relates to an LPC vector quantization apparatusapplicable to a speech coder/decoder used to enhance transmissionefficiency of a speech signal in the fields of a packet communicationsystem represented by Internet communication and mobile communicationsystem, etc.

BACKGROUND ART

When a speech signal is transmitted in a packet communication systemrepresented by Internet communication or mobile communication system, acompression/coding technology is often used to enhance transmissionefficiency of the speech signal. Many speech coding systems have beendeveloped so far, and many lowbit rate speech coding systems developedin recent years separate a speech signal into a spectral envelopeinformation and a sound source information and compress/code theseparated information pieces. For example, a CELP system described inDocument 1 (M. R. Schroeder, B. S. Atal, “Code Excited LinearPrediction: High Quality Speech at Low Bit Rate”, IEEE proc., ICASSP'85pp.937-940) is one of its examples.

Here, an overview of a CELP-based speech coder will be explained usingFIG. 1. Suppose an input speech signal is input to a speech codersuccessively every processing frame delimited by a time interval ofapproximately 20 ms.

The input speech signal input to the speech coder for every processingframe is supplied to an LPC analysis section 11 first. The LPC analysissection 11 carries out an LPC (Linear Predictive Coding) analysis on theinput speech signal, obtains an LPC vector having LPC coefficients asvector components, vector-quantizes the LPC vector obtained to obtain anLPC code, and decodes this LPC code to obtain a decoded LPC vectorhaving decoded LPC coefficients as vector components.

An excitation vector generation section 14 reads an adaptive codevectorand fixed codevector from an adaptive codebook 12 and a fixed codebook13 respectively and sends those codevectors to an LPC synthesis filter15. The LPC synthesis filter 15 performs synthesis filtering on theadaptive codevector and the fixed codevector supplied from theexcitation vector generation section 14 using an all-pole modelsynthesis filter having the decoded LPC coefficients given from the LPCanalysis section 11 as filter coefficients and obtains a synthesizedadaptive codevector and a synthesized fixed codevector, respectively.

A comparison section 16 analyzes a relationship between the synthesizedadaptive codevector, the synthesized fixed codevector output from theLPC synthesis filter 15 and the input speech signal, and calculates anadaptive codebook optimum gain to be multiplied on the synthesizedadaptive codevector and a fixed codebook optimum gain to be multipliedon the synthesized fixed codevector, respectively. Furthermore, thecomparison section 16 adds up the vector obtained by multiplying thesynthesized adaptive codevector by the adaptive codebook optimum gainand the vector obtained by multiplying the synthesized fixed codevectorby the fixed codebook optimum gain to obtain a synthesized speech vectorand calculates a distortion between the synthesized speech vectorobtained and input speech signal.

The comparison section 16 further calculates distortions between manysynthesized speech vectors obtained by operating the excitation vectorgeneration section 14 and LPC synthesis filter 15 on all possiblecombinations of adaptive codevectors stored in the adaptive codebook 12and fixed codevectors stored in the fixed codebook 13, and the inputspeech signal, determines an index of an adaptive codevector and anindex of a fixed codevector that minimize the distortions from amongthose codevectors and sends the indices of the codevectors output fromthe respective codebooks, codevectors corresponding to the indices andan adaptive codebook optimum gain and fixed codebook optimum gaincorresponding to the indices to a parameter coding section 17.

The parameter coding section 17 codes the adaptive codebook optimum gainand fixed codebook optimum gain to obtain gain codes, and outputs thegain codes obtained, the LPC code given from the LPC analysis section 11and the indices of the respective codebooks together for each processingframe.

The parameter coding section 17 further adds up two vectors; a vectorobtained by multiplying the adaptive codevector corresponding to theindex of the adaptive codebook by an adaptive codebook gaincorresponding to the gain code and a vector obtained by multiplying thefixed codevector corresponding to the index of the fixed codebook by afixed codebook gain corresponding to the gain code, thereby obtains anexcitation vector and updates the old adaptive codevector in theadaptive codebook 12 with the excitation vector obtained.

For synthesis filtering by the LPC synthesis filter 15, it is a generalpractice that linear predictive coefficients, high-pass filter andperceptual weighting filter using a long-term predictive coefficientobtained by carrying out a long-term predictive analysis on the inputspeech are used together. It is also a general practice that a searchfor optimum indices of the adaptive codebook and fixed codebook,calculation of optimum gains and coding processing of optimum gains arecarried out in units of a subframe obtained by subdividing a frame.

Next, an overview of processing of “vector quantization of LPC vector”carried out by the LPC analysis section 11 will be explained in moredetail using FIG. 2. Suppose that an LPC codebook 22 stores a pluralentries of typical LPC vectors acquired beforehand by applying the LBGalgorithm to many LPC vectors obtained by actually carrying out an LPCanalysis on input speech signals of many processing frames. With regardto the LBG algorithm, the details of its technology are disclosed inDocument 2 (Y. Linde, A. Buzo, R. M. Gray, “An Algorithm for VectorQuantizer Design,” IEEE trans. Comm., Vol. COM-28, No. 1, pp84-95,January, 1980).

A quantization target vector input to the vector quantizer in FIG. 2 (anLPC vector obtained by carrying out an LPC analysis on a speech signalin a processing frame section corresponds to the quantization target) issupplied to a distortion calculation section 21. Next, the distortioncalculation section 21 calculates a Euclidean distortion between an LPCcodevector stored in the LPC codebook 22 and the quantization targetvector according to the following Expression (1):

$\begin{matrix}{d_{m} = {\sum\limits_{i = 1}^{N}\;\left( {{X_{T}(i)} - {C_{m}(i)}} \right)^{2}}} & \text{Expression~~(1)}\end{matrix}$where in Expression (1), X_(T) is a quantization target vector, C_(m) isan mth (1≦m≦M) LPC codevector in the LPC codebook, i is a componentnumber of a vector, N is the order of a vector (corresponds to an LPCanalysis order) and d_(m) is a Euclidean distortion between X_(T) andC_(m).

The distortion calculation section 21 successively calculates Euclideandistortions between all LPC codevectors stored in the LPC codebook 22and the quantization target vector, then successively outputs thecalculation results(respective Euclidean distortions) to an LPC codebooksearch section 23. The LPC codebook search section 23 compares therespective Euclidean distortions supplied from the distortioncalculation section 21 and outputs an index of an LPC codevector thatminimizes the Euclidean distortion as an LPC code (coded expressingspectral envelope information on the processing frame).

On the other hand, it is possible to obtain decoded LPC coefficients(decode LPC coefficients) by reading out the LPC codevectorcorresponding to the index indicated by the LPC code from the LPCcodebook. By the way, since the processing of generating decoded LPCcoefficients, which are used for constituting an all-pole model LPCsynthesis filter, from the LPC code is generally carried out by both thespeech coder and speech decoder.

In many speech coders/decoders developed in recent years, LPC vector isnot quantized as it is, and it is a general practice that an LPC vectoris converted to an LSF (Line Spectral Frequency) vector having LSFparameters as vector components or an LSP (Line Spectral Pairs) vectorhaving LSP parameters as vector components, which are one-to-onemutually convertible frequency domain vectors, and thenvector-quantized. This is because vector-quantizing the LPC vector afterconverting it to a vector in the frequency domain rather than directlyvector-quantizing the LPC vector in time domain has higher quantizationefficiency and higher interpolation characteristic. By the way, featuresof the LSF (or LSP) vector and a method for mutual conversion with theLPC vector are disclosed in Document 3 (F. Itakura, “Line SpectrumRepresentation of Linear Predictive Coefficients of Speech Signals,” J.Acoust. Soc. Amer., vol 57, p.S35, April 1975) or Document 4 (L. K.Paliwal and B. S. Atal, “Efficient Vector Quantization of LPC Parameterat 24 Bits/Frame,” IEEE trans. on Speech and Audio Processing, vol. 1,pp. 3-14, January 1993).

For example, when the LSF vector is quantized, an LSF vector LSF_(T)[i](i=1, . . . , N) in the frequency domain obtained by converting the LPCvector, is input to the vector quantizer as the quantization targetvector. In this case LPC codebook stores candidate LSF codevectorsLSF_(m) [i] (i=1, . . . , N) each vector having LSF parameters as vectorcomponents, it is possible to vector-quantize the target LSF vectorusing the same procedure as that when the target LPC vector isvector-quantized. However, when LSF (or LSP) vector is quantized, theweighted Euclidean distortion d_(m) in Expression (2) below instead ofExpression (1) above is often used as a measure for an LPC codebooksearch.

$d_{m} = {\sum\limits_{i = 1}^{N}\;\left\lbrack {{w(i)}*\left( {{{LSF}_{T}(i)} - {{LSF}_{m}(i)}} \right)} \right\rbrack^{2}}$

The weighted Euclidean distortion is disclosed in detail, for example,in Document 4 or Document 5 (A. Kataoka, T. Moriya and S. Hayashi, “An8-kb/s Conjugate Structure CELP (CS-CELP) Speech Coder,” IEEE trans.Speech and Audio Processing, vol. 4, No. 6, pp.401-411, November 1996)or Document 6 (R. Hagen, E. Paksoy, and A. Gersho, “Voicing-Specific LPCQuantization for Variable-Rate Speech Coding,” IEEE trans. Speech andAudio Processing, vol. 7, no. 5, pp.485-494, September, 1999).

By the way, it is possible to obtain decoded LSF parameters (decode LSFparameters) by reading out the LSF codevector corresponding to the indexindicated by the LPC code from the LPC codebook by using the same manneras that for obtaining decoded LPC coefficients from LPC codes, that is,reading out a decoded LPC codevector corresponding to an LPC code from acodebook. In this case, however, the decoded LSF parameters read basedon the LPC code are parameters in the frequency domain. Thus, additionalprocessing for converting the decoded LSF parameters in the frequencydomain to decoded LPC coefficients in the time domain for constructingan all-pole model LPC synthesis filter is required.

With regard to a speech coder/decoder according to a CELP system, etc.,LPC parameters representing short-time spectral envelope information ofa speech signal (hereinafter LPC coefficients and parameters such as LSFwhich are mutually convertible with LPC coefficients will be genericallyreferred to as “LPC parameters”) are generally compressed/coded by avector quantizer. However, when a vector quantizer in a simpleconfiguration as shown in FIG. 2 is applied as is, quantizationdistortion generated by each processing frame will increase, failing toobtain preferable synthesized speech. For this reason, a lot ofresearches such as “predictive vector quantization technology”,“multistage vector quantization technology” and “split vectorquantization technology” have been made so far for improving the vectorquantizer performance. In order to design a high performance vectorquantizer, it is indispensable to use many of these technologies incombination.

By the way, when a vector quantizer of LPC vector is newly designed (orimproved), an evaluation measure to compare/evaluate the performance ofthe quantizer is required. When evaluating the performance, it ispreferable to use an evaluation measure considering that the LPCparameters are originally the parameters to express short-time spectralenvelope information of a speech signal. Thus, CD (Cepstral Distortion)measure in Expression (3) below which evaluates distortion in the LPCcepstrum domain corresponding to an LPC spectrum model or SD (SpectralDistortion) measure in Expression (4) below which evaluates distortionin an FFT (Fast Fourier Transformation) spectral domain is often used asa performance evaluation measure:

$\begin{matrix}{{CD} = {{\frac{1}{L}\left\{ {\sum\limits_{i = 1}^{L}{CD}^{(l)}} \right\}} = {\frac{1}{L}\left\{ {\sum\limits_{i = 1}^{L}{\frac{10}{\log_{10}}\sqrt{2{\sum\limits_{i = 1}^{N_{c}}\;\left( {{{CEP}_{t}^{(l)}\lbrack i\rbrack} - {{CEP}_{q}^{(l)}\lbrack i\rbrack}} \right)^{2}}}}} \right\}}}} & \text{Expression~~(3)}\end{matrix}$where in Expression (3), L is the number of data frames used forevaluation, l is a frame number, Nc is the order of an LPC cepstrum(when the LPC analysis order N is the 10^(th) order, Nc is often on theorder of the 16th order), CEP_(t) ^((l))[i] is a target LPC cepstrumobtained by converting a quantization target of the first processingframe and CEP_(q) ^((l))[i] is LPC cepstrum obtained by convertingdecoded LPC vector of the first processing frame. The technologicaldetails of the features of the LPC cepstrum and method of mutualconversion between LPC vector and LPC cepstrum are disclosed, forexample, in Document 7 (M R. Shroeder, “Direct (Nonrecursive) RelationsBetween Cepstrum and Predictor Coefficients, “IEEE trans. on vol.ASSP-29, No.2, pp.297-301, April, 1981.).

$\begin{matrix}{{SD} = {{\frac{1}{L}\left\{ {\sum\limits_{i = 1}^{L}{SD}^{(l)}} \right\}} = {\frac{1}{L}\left\{ {\sum\limits_{i = 1}^{L}{\frac{10}{\log_{10}}{\quad\sqrt{\frac{4}{K}{\sum\limits_{j = 1}^{K/2}\;\left( {{\log_{10}\left\lbrack {{SP}_{t}^{(l)}\left( \omega_{j} \right)} \right\rbrack} - {\log_{10}\left\lbrack {{SP}_{t}^{(l)}\left( \omega_{j} \right)} \right\rbrack}} \right)^{2}}}\quad}}} \right\}}}} & \text{Expression~~(4)}\end{matrix}$where in Expression (4), L is the number data frames used forevaluation, l is a frame number, K is the number of FFT points, SP_(t)^((l))(ωj) is an FFT power spectrum of a quantization target of the lthprocessing frame, SP_(q) ^((l))(ωj) is an FFT power spectrum of adecoded LPC vector of the l-th processing frame and ωj=2πj/K. Thetechnological details of the features of SD are disclosed, for example,in Document 4 above.

Both CD in Expression (3) and SD in Expression (4) are obtained byadding up quantization distortion generated in each processing framethroughout the evaluation data and then averaging the addition result bythe number of data frames in the evaluation data, which means that thesmaller the CD or SD, the higher the performance of the vectorquantizer.

When an LPC vector is vector-quantized, a Euclidean distortionExpression (1) or weighted Euclidean distortion Expression (2) is usedas a reference measure for a LPC codebook search. On the other hand, theperformance of the LPC vector quantizer is generally evaluated using CDdescribed in Expression (3) or SD described in Expression (4) as aperformance evaluation measure. That is, in LPC vector quantizersdeveloped so far, a reference measure used for LPC codebook search isdifferent from a reference measure used for evaluating the vectorquantizer performance. For this reason, the LPC code selected by LPCcodebook search is not always an index for minimizing CD or SD measure.This causes a problem in designing a high performance vector quantizer.

As the simplest method for solving the problem above, it may bereasonable to convert candidate LPC vectors to mutually convertible LPCcepstrums (or FFT power spectrums) and store them in a codebookbeforehand, then converting an target LPC vector input in every frame toa target LPC cepstrum (or a target FFT power spectrum) and selecting anLPC cepstrum codevector (or FFT power spectrum codevector) using CD (orSD) as a distortion measure. However, the above solution method causes adrastic increase of the memory capacity for storing candidatecodevectors. Moreover, when a vector quantizer is conceived which uses“predictive vector quantization technology” or “multistage vectorquantization technology” frequently used in a low bit rate speech codingsystem, it is necessary to store vectors with no mutual convertibilitywith an LPC cepstrum (for example, predictive residual vector orquantization error vector) in a codebook beforehand, and therefore theabove solution method cannot be employed.

DISCLOSURE OF INVENTION

It is an object of the present invention to provide an LPC vectorquantization apparatus capable of enhancing the quantization performanceof an LPC vector quantizer and improving the quality of synthesizedspeech in a speech coder/decoder.

This object is attained when a target LSF vector is vector-quantized bya pre-selection for selecting a preset small number of codevectors frommany candidate LSF codevector entries stored in an LSF codebookaccording to a weighted Euclidean distortion measure, further finalsearch for selecting a final code from the small number of pre-selectedLSF codevectors according to the CD or SD measure.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram showing a configuration of a CELP-based speechcoder;

FIG. 2 is a block diagram showing a basic configuration of aconventional LPC vector quantization apparatus;

FIG. 3 is a block diagram showing a configuration of an LPC vectorquantization apparatus according to Embodiment 1 of the presentinvention;

FIG. 4 is a block diagram illustrating a method for creating a decodedLPC vector according to Embodiment 1 of the present invention;

FIG. 5 is a block diagram showing a configuration of an LSF vectorquantization apparatus according to Embodiment 2 of the presentinvention;

FIG. 6 is a block diagram showing a configuration of an LSF vectorquantization apparatus according to Embodiment 3 of the presentinvention;

FIG. 7 is a block diagram showing a configuration of a speech signaltransmission apparatus and speech signal reception apparatus accordingto Embodiment 4 of the present invention;

FIG. 8 is a block diagram showing a configuration of a speech coderaccording to Embodiment 4 of the present invention; and

FIG. 9 is a block diagram showing a configuration of a speech decoderaccording to Embodiment 4 of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

With reference now to the attached drawings, embodiments of the presentinvention will be explained below.

Embodiment 1

An LPC vector quantization apparatus according to the present inventionwill be explained using FIG. 3. FIG. 3 is a block diagram showing aconfiguration of the LPC vector quantization apparatus according toEmbodiment 1 of the present invention.

This vector quantization apparatus is provided with an LSF codebook 101that stores LSF codevector entries, a distortion calculation section 102that calculates distortions between LSF codevector entries in the LSFcodebook 101 and a target LSF vector, an LPC code pre-selection section103 that preliminarily selects a preset small number of LPC codes basedon the distortions calculated by the distortion calculation section 102,LSF/LPC conversion sections 104 and 106 that convert LSF vector to LPCcoefficients, LPC coefficient/LPC cepstrum conversion sections 105 and107 that convert LPC coefficients to LPC cepstrum and an LPC code finalsearch section 108 that finally selects an LPC code based on the resultsof distortion evaluation in the LPC cepstrum domain.

Suppose the LSF codebook 101 of the vector quantization apparatus in theabove-described configuration stores M candidate LSF codevector entriesacquired beforehand by the LBG algorithm. Furthermore, suppose the LPCvector quantization apparatus according to this embodiment carries outan LPC analysis on a speech signal in a processing frame section toobtain LPC coefficients, further converts the LPC coefficients obtainedto an LSF vector and inputs the LSF vector obtained as a quantizationtarget vector. Hereafter, a quantization target vector may be expressedwith symbol LSF_(T)[i] (i=, . . . , N), where N is an LPC analysisorder.

The quantization target LSF vector, LSF_(T)[i] (i=1, . . . , N), inputto the vector quantization apparatus is supplied to the distortioncalculation section 102 and LSF/LPC conversion section 106 first. On theother hand, the LSF codebook 101 supplies an LSF codevector LSF_(m)[i](i=1, . . . , N) corresponding to the instruction information (index mis supplied as information) supplied from the LPC code pre-searchsection 103 to the distortion calculation section 102.

The distortion calculation section 102 calculates a weighted Euclideandistortion between the quantization target vector, LSF_(T)[i] (i=1, . .. , N), and an LSF codevector, LSF_(m)[i] (i=1, . . . , N), according tothe above-described Expression (2) and outputs the calculation resultd_(m) to the LPC code pre-selection section 103. After receiving thedistortion d_(m) corresponding to index m, the LPC code pre-selectionsection 103 instructs the LSF codebook 101 to output another LSFcodevector corresponding to the next index (m+1).

In the case LSF codebook 101 stores M candidate LSF codevectors, theprocessing at the LPC code pre-selection section 103 is repeated M timesuntil M distortions between LSF quantization target vector and Mcandidate LSF vector are obtained, and the M distortions are output tothe LPC code pre-selection section 103. In this way, M distortions d_(m)(m=1, . . . , M) are input to the LPC code pre-selection section 103 atthe time of completion of the processing by the LPC code pre-selectionsection 103.

The LPC code pre-selection section 103 compares the values of the Mweighted Euclidean distortions input, and selects S candidate indiceswith smallest weighted Euclidean distortion value (in this embodiment,suppose the number S is preset) and records the selected S candidateindices in Ncand[j] (j=1, . . . , S) (any one of indices 1 to M isrecorded in Ncand[j]). Then, it instructs the LSF codebook 101 of theindices recorded in Ncand[j] (j=1, . . . , S) and receives thecorresponding LSF codevectors LSF_(Ncand[j])[i] (i=1, . . . , N, j=1, .. . , S) from the LSF codebook 101. Then, the S LSF codevectors receivedare output to the LSF/LPC conversion section 104.

The LSF/LPC conversion section 104 converts the preliminarily selected SLSF codevectors LSF_(Ncand[j])[i] (i=1, . . . , N, j=1, . . . , S)supplied from the LPC code pre-selection section 103 to their respectiveLPC coefficients to obtain LPC_(Ncand[j])[i] (i=1, . . . , N, j=1, . . ., S) and outputs the S sets of LPC coefficients obtained to the LPCcoefficient/LPC cepstrum conversion section 105.

The LPC coefficient/LPC cepstrum conversion section 105 converts the Ssets of LPC coefficients LPC_(Ncand[j])[i] (i=1, . . . , N, j=1, . . . ,S) supplied from the LSF/LPC conversion section 104 to their respectiveLPC cepstra, CEP_(Ncand[j])[i] (i=1, . . . , Nc, j=1, . . . , S: Nc isthe order of an LPC cepstrum, and outputs the S LPC cepstra obtained tothe LPC code final search section 108.

On the other hand, the LSF/LPC conversion section 106 converts aquantization target LSF_(T)[i] (i=1, . . . , N) to an LPC coefficientsto obtain LPC_(T)[i] (i=1, . . . , N) and outputs the LPC coefficientsobtained to the LPC coefficient/LPC cepstrum conversion section 107. TheLPC coefficient/LPC cepstrum conversion section 107 converts the LPCcoefficients LPC_(T)[i] (i=1, . . . , N) supplied from the LSF/LPCcoefficients conversion section 106 to an LPC cepstrum to obtainCEP_(T)[i] (i=1, . . . , Nc) and outputs the LPC cepstrum obtained tothe LPC code final search section 108.

Then, the LPC code final search section 108 calculates distortionsbetween S candidates LPC cepstra, CEP_(Ncand[j])[i] (i=1, . . . , Nc,j=1, . . . , S), supplied from the LPC coefficient/LPC cepstrumconversion section 105 and the target LPC cepstrum, CEP_(T)[i] (i=1, . .. , N, j=1, . . . , S), supplied from the LPC coefficient/LPC cepstrumconversion section 107 according to Expression (5) below and retains therespective calculation results in Dj (j=1, . . . , S).

$\begin{matrix}{{D_{j} = {\sum\limits_{i = 1}^{N_{c}}\;\left( {{{CEP}_{T}\lbrack i\rbrack} - {{CEP}_{{Ncand}{\lbrack j\rbrack}}\lbrack i\rbrack}} \right)^{2}}},} & \text{Expression~~(5)} \\{{j = 1},\ldots\mspace{11mu},S} & \;\end{matrix}$

Then, the LPC code final search section 108 compares the values of Dj(j=1, . . . , S), specifies one index j that minimizes Dj (the specifiedj is expressed as J here) and outputs Ncand [J] corresponding to thespecified J as the LPC code of the relevant processing frame (code toexpress spectral envelope information of a speech signal of the relevantprocessing frame). By the way, it is obvious from the relationshipbetween Expression (5) and Expression (3) that “J” selected using theminimization of Expression (5) above as a reference is identical to theLPC code (assumed to be “J′”) selected using the minimization ofExpression (3) as a reference.

By the way, to give generality to explanations, this embodiment assumesthat the number of LSF codevectors stored in the LSF codebook 101 is Mand the number of codevectors preliminarily selected by the LPC codepre-selection section 103 is S. The above-described value M isdetermined by the number of bits allocated to the LPC parameter vectorquantization apparatus. For example, when 21 bits per frame areallocated to the vector quantization apparatus shown in FIG. 3, thevalue m becomes an extremely large number of 2²¹. Furthermore, theabove-described value S can be freely set, but it is often set to 8, 16or about 32 empirically or through an advance performance evaluationtest.

Then, the processing of generating decoded LPC coefficients (alsoreferred to as “decoding processing of LPC parameter”) from the LPC code(Ncand[J]) output from the vector quantization apparatus shown in FIG. 3will be explained using the LPC vector decoder shown in FIG. 4. However,the decoder shown in FIG. 4 is provided with the same LSF codebook 201as that in the vector quantization apparatus and a codevector readingsection 202 that reads an LSF codevector from the LSF codebook 201.

LPC code, Ncand[J], input to the LPC vector decoder shown in FIG. 4 issupplied to the codevector reading section 202 first. Then, thecodevector reading section 202 instructs the LSF codebook 201 to outputan LSF codevector corresponding to the LPC code, Ncand[J]. Then, the LSFcodebook 201 outputs LSF_(Ncand[J])[i] (i=1, . . . , N) to thecodevector reading section 202. The codevector reading section 202outputs the vector supplied from the LSF codebook 201 as decoded LSFvector.

Since the decoded LSF vector output from the LPC vector decoder above isparameters in the LSF-domain, an additional processing for convertingthe decoded LSF vector in the LSF-domain to decoded LPC coefficients inthe LPC-domain for constructing an all-pole model LPC synthesis filteris required.

According to the above-described LPC vector quantization apparatus, whenthe target LSF vector which is a quantization target isvector-quantized, it is possible to preliminarily select the presetsmall number of LSF codevectors from all candidate LSF codevectorsstored in the LSF codebook using a weighted Euclidean distortion as ameasure and it is possible to fully select a final code from the smallnumber of pre-selected candidate LSF codevectors based on thepre-selection result using the CD minimization as a measure.

Therefore, using the vector quantization apparatus according to theabove-described embodiment makes it possible to reduce the problem ofthe conventional technology (problem that a selected LPC code by thevector quantization apparatus often mismatches an index of thecodevector that minimizes the CD) without drastically increasing theamount of calculation required for an LPC codebook search and improvethe performance of the LPC vector quantization apparatus.

By the way, according to this embodiment, when the vector quantizationapparatus of the present invention is compared with the vectorquantization apparatus explained in the section of the prior art, thevector quantization apparatus of the present invention slightlyincreases the amount of calculation required for the search of LPCcodebook. The portion corresponding to the increase in the amount ofcalculation can be summarized as the following six points:

(1) Amount of calculation to convert quantization target to target LPCcoefficients

(2) Amount of calculation to convert the target LPC vector in (1) to atarget LPC cepstrum

(3) Amount of calculation to convert preliminarily selected small numberof LPC codevectors to the small number of LPC coefficients

(4) Amount of calculation to convert the small number of LPC vectors in(3) to the small number of LPC cepstra

(5) Amount of calculation to calculate distortions between the targetLPC cepstrum in (2) and the small number of LPC cepstra in (4)

(6) Amount of calculation to compare distortions in (5) and specify anindex of a codevector that minimizes distortion

In this case, it is generally possible to control the increase of theabove-described amount of calculation by the number of candidates of thecodevectors preliminarily selected and left (this is because it is (3),(4), (5) and (6) that substantially dominate the amount of calculationin (1) to (6) and these are directly dependent on the number ofcandidates in the pre-selection). That is, according to the vectorquantization apparatus of the present invention, it is possible tofreely adjust a tradeoff relationship between the increase in the amountof calculation required for an LPC codebook search and the improvementof performance by increasing/decreasing the number of preliminarilyselected candidates set in the LPC code pre-selection section 103. Thus,this embodiment makes it possible to improve the performance of thevector quantization apparatus considering the increase in the amount ofcalculation required for an LPC codebook search.

Furthermore, this embodiment has described the case where the number ofcandidate LSF codevectors left by the LPC code pre-selection section ispredetermined, but it is also possible to use other pre-selectionmethods such as setting a threshold for a weighted Euclidean distortionand leaving a candidate whose weighted Euclidean distortion is smallerthan the set threshold as a candidate after the pre-selection, and thesame effect/operation can also be obtained in this case, too.

Furthermore, this embodiment has described the case where the LPC codepre-selection section carries out pre-selection of an LSF codevectorusing the weighted Euclidean distortion of Expression (2) above as ameasure, but the present invention can also be implemented when aweighted Euclidean distortion which is different from above-describedExpression (2) such as Expression (8) and Expression (10) in theaforementioned Document 4 is used, and the same effect/operation canalso be obtained in this case, too.

By the way, with respect to the “weight” in a weighted Euclideandistortion, various calculation methods have been proposed so far (e.g.,a method described in Document 5 where weighting is calculated accordingto the distances between adjacent elements of an LSF parameters, amethod described in Document 6 where weighting is calculated accordingto a power spectrum of a quantization target), but the present inventionis applicable irrespective of the method of calculating “weight” and thesame effect/operation can also be obtained in this case, too.

Furthermore, this embodiment has described the case where the LPC vectorinput to the vector quantization apparatus is LSF, but the presentinvention is also applicable when other vector expressing short-timespectral envelope information of a speech signal such as LSP vector,PARCOR vector having a PARCOR parameters as vector components, LPCvector is input to the vector quantization apparatus as a target vectorand the same effect/operation can also be obtained in this case, too.

However, in the case where LSP is input as a quantization target, forexample, it is necessary to change the LSF/LPC conversion sections 104and 106 to the LSP/LPC conversion sections and change the LSF codebook101 to the LSP codebook.

Furthermore, this embodiment has described the case where the LPC codefinal search section specifies a final LPC code using the CD measure,but if the LPC coefficient/LPC cepstrum conversion sections (105, 107)is replaced by an LPC coefficient/FFT power spectrum calculation sectionthat has the function of calculating an FFT power spectrum from LPCcoefficients and Expression (5) above as the calculation expressionexecuted by the LPC code final search section 108 is replaced by thecalculation expression inside the square root portion of Expression (4),SD (Spectral Distortion) can also be used as a measure to specify thefinal LPC code and the same effect/operation can also be obtained inthis case, too.

As explained above, it is understandable that the vector quantizationapparatus according to this embodiment is preferably applicable to caseswhere short-time spectral envelope information of a speech signal iscoded/decoded by a speech coder/decoder based on a CELP system orVocoder system.

Embodiment 2

This embodiment will explain the configuration of a vector quantizationapparatus, processing procedure and effect/operation thereof when thetechnology according to the present invention is applied to the LPCvector quantization apparatus using a predictive vector quantizationtechnology, multistage vector quantization technology and split vectorquantization technology together.

The configuration of the vector quantization apparatus strongly dependson the bit rate of the entire speech coder/decoder and the number ofbits allocated to the LPC vector quantization apparatus. Here, forsimplicity of explanation, a vector quantization apparatus with 21-bitbit information per processing frame of a time interval of 20 msallocated will be explained as a specific example below.

Furthermore, more specifically, suppose the vector quantizationapparatus used in this explanation uses a third-order MA (MovingAverage) prediction technology and uses 4 sets of MA predictivecoefficients per processing frame (2-bit information is required for MApredictive coefficients switching). Moreover, suppose the vectorquantization apparatus used in the explanation uses a 2-stage vectorquantization technology. Furthermore, suppose the vector quantizationapparatus used in the explanation uses a split vector quantizationtechnology at the second stage of the 2-stage vector quantizationapparatus. By the way, the first stage vector quantizer, the vectorquantizer of the second stage lower frequency components and the vectorquantizer of the second stage higher frequency components are assigned 7bits, 6 bits and 6 bits, respectively.

FIG. 5 is a block diagram showing a configuration of a vectorquantization apparatus according to Embodiment 2 the present invention.As shown in FIG. 5, the vector quantization apparatus in a 2-stage splitconfiguration using third-order MA prediction to which the technologyaccording to the present invention is applied is provided with a weightcalculation section (WC) 301, a predictive coefficient codebook (PCC)302, an MA predictor (MP) 303, a predictive residual calculation section(PRC) 304, a first stage codebook (FSC) 305, a first stage distortioncalculation section (FSDCS) 306, a first stage VQ pre-selection section(FSVPS) 307, a first stage VQ residual calculation section (FSVRC) 308,a second stage lower frequency codebook (SSLFC) 309, a second stagelower frequency distortion calculation section (SSLFD) 310, a secondstage higher frequency distortion calculation section (SSHFD) 311, asecond stage higher frequency codebook (SSHFC) 312, a second stage lowerfrequency codebook search section (SSLFC) 313, a second stage higherfrequency codebook search section (SSHFC) 314, a predictive residualdecoding section (PRD) 315, a decoded LSF generation section (DLG) 316,LSF/LPC coefficient conversion sections (LSF/LPC) 317 and 319, LPCcoefficient/LPC cepstrum conversion sections (LC/LC) 318 and 320 and anLPC code final search section (LCFS) 321.

In the explanation of FIG. 5, the processing after an LSF vector isinput until a target vector of the first stage vector quantizer isobtained (processing corresponding to the weight calculation section301, predictive coefficient codebook 302, MA predictor 303 andpredictive residual calculation section 304) will be explained indetail.

LSF vector input to the vector quantization apparatus in FIG. 5 aresupplied to the weight calculation section 301, predictive residualcalculation section 304 and LSF/LPC conversion section 319. The weightcalculation section 301 calculates a “weight” used to calculate aweighted Euclidean distortion based on the LSF vector and outputs thisweight(s) to the first stage distortion calculation section 306, secondstage lower frequency distortion calculation section 310 and secondstage higher frequency distortion calculation section 311.

By the way, as the method for calculating “weight” by the weightcalculation section 301, the method described in Document 5 forcalculating “weight” according to a distance between adjacent elementsof LSF parameters or the method described in Document 6 for calculating“weight” according to a power spectrum of LSF vector, etc., can be used.This embodiment assumes that no special limit is set for calculation of“weight.”

The MA predictor 303 calculates predictive vectors using decodedpredictive residual vectors corresponding to the past 3 frames stored inthe decoding predictive residual storage section (DPRS) 322 andthird-order MA predictive coefficients stored in the predictivecoefficient codebook 302 and outputs the calculated predictive vector tothe predictive residual calculation section 304.

By the way, suppose that the above-described processing ofcalculating/outputting a predictive vector is carried out for each ofthe 4 sets of third-order MA predictive coefficients stored in thepredictive coefficient codebook 302. Therefore, a total of four sets ofpredictive vectors are output from the MA predictor 303. Furthermore,the four sets of predictive coefficients stored in the MA predictor 303are acquired beforehand by applying the generalized Lloyd algorithmdisclosed in Document 8 (S. P. Lloyd, “Least Square Quantization inPCM,” IEEE trans. Inform. Theory IT-28, pp. 129-137, 1982), etc., tofour sets of arbitrarily initialized MA predictive coefficients.Hereafter, for simplicity of explanation, suppose the four sets ofthird-order MA predictive coefficients will be represented with symbolsMA_(k)[j][i].

In the above-described symbol notation, k(=1, . . . , 4) corresponds toa set number of the third-order MA predictive coefficients, j (=0, . . ., 3) corresponds to a frame number (j=0 corresponds to the currentprocessing frame, j=1 corresponds to the processing frame one frameahead of the current processing frame, j=2 corresponds to the processingframe 2 frames ahead of the current processing frame, j=3 corresponds tothe processing frame 3 frames ahead of the current processing frame), i(=1, . . . , N: N is an LPC analysis order) corresponds to a number ofvector component of the predictive coefficients.

The predictive residual calculation section 304 differentiates averageLSF parameters (AV[i], i=1, . . . , N) stored in the average LSF storagesection (ALS) 323 from the LSF parameters. By the way, theaforementioned average LSF parameters (AV[i], i=1, . . . , N) areparameters obtained beforehand in the stage prior to actualcoding/decoding processing by averaging the entire sets of LSFparameters of a training speech signal, and stored in the average LSFstorage section 323. Then, the predictive residual calculation section304 differentiates the predictive vectors supplied from the MA predictor303 from the vector obtained by the aforementioned difference,calculates a predictive residual vector and outputs the calculatedpredictive residual vector as a target vector of the first stage vectorquantizer to the first stage distortion calculation section 306, firststage VQ residual calculation section 308 and decoded LSF generationsection 316.

By the way, the above-described processing of calculating/outputting thepredictive residual vector is carried out for each of 4 sets of MApredictive coefficients. Therefore, a total of four entries of targetvectors of the first stage vector quantizer are output from thepredictive residual calculation section 304.

The processing after the LSF parameter is input until the target vectorof the first stage vector quantizer is obtained has been explained indetail so far. Next, the processing of the first stage vector quantizerof the 2-stage vector quantizer (processing corresponding to the firststage codebook 305, first stage distortion calculation section 306,first stage VQ pre-selection section 307 and first stage VQ residualcalculation section 308) will be explained in detail.

The first stage codebook 305 stores 128 entries of predictive residualcodevectors. By the way, 128 entries of predictive residual codevectorsare acquired before hand by carrying out a series of the above-describedprocesses until a quantization target is calculated on speech signals inmany processing frames, obtaining many predictive residual vectors,applying an LBG algorithm to the many predictive residual vectorsobtained, extracting 128 entries of typical samples of predictiveresidual vectors and further applying the generalized Lloyd algorithmdisclosed in the aforementioned Document 8, etc.

The first stage distortion calculation section 306 calculates a weightedEuclidean distortion between the target vector (X_(k)[i], i=1, . . . ,N) of the first stage vector quantizer supplied from the predictiveresidual calculation section 304 and the vector (MA_(k)[0][i]*C_(m)[i],i=1, . . . , N) obtained by multiplying the predictive residualcodevector (C_(m)[i], i=1, . . . , N) with index m read from the firststage codebook 305 by the current processing frame component of the MApredictive coefficient (MA_(k)[0][i], i=1, . . . , N) according toExpression (6) below and outputs the calculated distortion value to thefirst stage VQ pre-selection section 307.

$\begin{matrix}{d_{k,m} = {\sum\limits_{i = 1}^{N}\;\left\{ {{w\lbrack i\rbrack}*\left( {{X_{k}\lbrack i\rbrack} - {M\;{{A_{k}\lbrack 0\rbrack}\lbrack i\rbrack}*{C_{m}\lbrack i\rbrack}}} \right)} \right\}^{2}}} & \text{Expression~~(6)}\end{matrix}$where, in Expression (6), w[i] is “weight” calculated by the weightcalculation section 301, k is a set number (k=1, . . . , 4) of the MApredictive coefficients, m is an index (m=1, . . . , 128) of thepredictive residual codevector in the first stage codebook.

The above-described weighted Euclidean distortion is calculated by thefirst stage distortion calculation section 306 on 512(=128×4)combinations of 128 entries (m=1, . . . , 128) of predictive residualcodevectors (C_(m)[i], i=1, . . . , N) stored in the first stagecodebook 305 and 4 sets (k=1, . . . , 4) of MA predictive coefficientsused to generate target vectors (X_(k)[i], i=1, . . . , N) supplied fromthe predictive residual calculation section 304. Therefore, a total of512 distortions d_(k,m)(k=1, . . . , 4, m=1, . . . , 128) are outputfrom the first stage distortion calculation section 306 to the firststage VQ pre-selection section 307.

The first stage VQ pre-selection section 307 compares above-described512 distortions d_(k,m) (k=1, . . . , 4, m=1, . . . , 128) supplied fromthe first stage distortion calculation section 306, selects N1 types ofcombination information of k (to which third-order predictivecoefficient set of the 4 sets of third-order MA predictive coefficientscorresponds) and m (to which codevector of the 128 entries ofcodevectors in the first stage codebook 305 corresponds), and recordsthe selected k and m into N1cand_k[j] and N1cand_m[j] respectively, andoutputs the recorded N1cand_k[j] and N1cand_m[j] (j=1, . . . , N1) tothe first stage VQ residual calculation section 308, predictive residualdecoding section 315 and decoded LSF generation section 316.

Using third-order predictive coefficient set (read from the predictivecoefficient codebook 302) corresponding to the information on N1combinations of N1cand_k[j] and N1cand_m[j] (j=1, . . . , N1) suppliedfrom the first stage VQ pre-selection section 307 and the codevector(read from the first stage codebook 305) in the first stage codebook,the first stage VQ residual calculation section 308 calculates N1 firststage VQ residual vectors X_(j) ⁽²⁾[i] (i=1, . . . , N, j=1, . . . , N1)which remain after the pre-selection processing according to Expression(7) below and outputs the calculated N1 vectors to the second stagelower frequency distortion calculation section 310 and second stagehigher frequency distortion calculation section 311.X _(j) ⁽²⁾ [i]=X _(N1cand) _(—) _(k[j]) [i]−MA _(N1cand) _(—)_(k[j])[0][i]*C _(N1cand) _(—) _(m[j]) [i], i=1, . . . , N, j=1, . . . ,N1  Expression (7)

By the way, the second stage vector quantizer of this embodiment adoptsa split configuration, decomposing (splitting) the first stage VQresidual vector into lower frequency components (i=1, . . . , NL) andhigher frequency components (i=NL+1, . . . , N) and vector-quantizingthe respective vectors obtained by splitting separately.

Therefore, X_(j) ⁽²⁾[i] (i=1, . . . , N, j=1, . . . , N1) calculated bythe first stage VQ residual vector calculation section 308 is output tothe second stage lower frequency distortion calculation section 310 andsecond stage higher frequency distortion calculation section 311 inaccordance with the configuration of the second stage vector quantizer.More specifically, X_(j) ⁽²⁾[i] (i=1, . . . , NL, j=1, . . . , N1) isoutput to the second stage lower frequency distortion calculationsection 310 and X_(j) ⁽²⁾[i] (i=NL+1, . . . , N, j=1, . . . , N1) isoutput to the second stage higher frequency distortion calculationsection 311.

The processing of the first stage vector quantizer of the 2-stage vectorquantizer has been explained in detail so far. Next, the processing ofthe second stage vector quantizer of the second stage vector quantizer(processing corresponding to the second stage lower frequency codebook309, second stage lower frequency distortion calculation section 310,second stage higher frequency distortion calculation section 311, secondstage higher frequency codebook 312, second stage lower frequencycodebook search section 313 and second stage higher frequency codebooksearch section 314) will be explained in detail.

The second stage lower frequency codebook 309 stores 64 entries ofsecond stage lower frequency codevectors (C2L_(m2L)[i], i=1, . . . , NL,m2L=1, . . . , 64). By the way, the aforementioned 64 entries ofcodevectors are acquired beforehand by carrying out processing until thelast processing of the first stage vector quantizer which calculates thefirst stage VQ residual vectors on speech signals in many processingframes, obtaining many lower frequency components of many first stage VQresidual vectors, applying the LBG algorithm to the many lower frequencycomponents of many first stage VQ residual vectors obtained, extracting64 entries of typical lower frequency components of the first stage VQresidual vector and further applying the generalization Lloyd algorithmdisclosed in the aforementioned Document 8, etc., to the extracted 64entries of typical lower frequency components of the first stage VQresidual vectors.

On the other hand, the second stage higher frequency codebook 312 storesthe 64 entries of second stage higher frequency codevectors(C2H_(m2H)[i], i=NL+1, . . . , N, m2H=1, . . . , 64) acquired byapplying the same method used by the second stage lower frequencycodebook 309 to acquire lower frequency components of the first stage VQresidual codevectors.

The second stage lower frequency distortion calculation section 310calculates a weighted Euclidean distortion between the lower frequencycomponents X_(j) ⁽²⁾[i] (i=1, . . . , NL, j=1, . . . , N1) of the firststage VQ residual vector supplied from the first stage VQ residualcalculation section 308 and a vector (MA_(N1cand) _(—)_(k[j])[0][i]*C2L_(m2L)[i], i=1, . . . , NL) obtained by multiplying thesecond stage lower frequency codevector (C2L_(m2L)[i], i=1, . . . , NL)of the index m2L read from the second stage lower frequency codebook 309by the current processing frame component (MA_(N1cand) _(—)_(k[j])[0][i], i=1, . . . , NL) of the MA predictive coefficientsaccording to Expression (8) below and outputs the calculated distortionvalue d2L_(j,m2L) to the second stage lower frequency codebook searchsection 313.

$\begin{matrix}{{{d2L}_{j,{m2L}} = {\sum\limits_{i = 1}^{NL}\;\left\{ {{w\lbrack i\rbrack}*\left( {{X_{j}^{(2)}\lbrack i\rbrack} - {M\;{{A_{{N1cand\_ k}{\lbrack j\rbrack}}\lbrack 0\rbrack}\lbrack i\rbrack}*{{C2L}_{m2L}\lbrack i\rbrack}}} \right)} \right\}^{2}}},{j = 1},\ldots\mspace{11mu},{N\; 1},{{m\; 2L} = 1},\ldots\mspace{11mu},64} & \text{Expression~~(8)}\end{matrix}$where, w[i] in Expression (8) is the same “weight” in Expression (6).

By the way, suppose that the second stage lower frequency distortioncalculation section 310 carries out the distortion calculation inExpression (8) above on the 64 entries of codevectors stored in thesecond stage lower frequency codebook 309 for each j and outputs all theweighted Euclidean distortions d2L_(j,m2L) (j=1, . . . , N1, m2L=1, . .. , 64) obtained to the second stage lower frequency codebook searchsection 313 (a total of N1*64 d2L_(j,m2L) are output).

The second stage higher frequency distortion calculation section 311carries out the same processing as that of the second stage lowerfrequency distortion calculation section 310 on the vector higherfrequency component and outputs a weighted Euclidean distortiond2H_(j,m2H) (j=1, . . . , N1, m2H=1, . . . , 64) to the second stagehigher frequency codebook search section 314 (a total of N1*64d2H_(j,m2H) are output).

The second stage lower frequency codebook search section 313 specifiesone index m2L that minimizes the distortion for each j for the weightedEuclidean distortion d2L_(j,m2L) (j=1, . . . , N1, m2L=1, . . . , 64)supplied from the second stage lower frequency distortion calculationsection 310 and records the specified N1 (j=1, . . . , N1) indices inN2Lcand[j] (j=1, . . . , N1), respectively and outputs the recorded N1N2Lcand[j] (j=1, . . . , N1) to the predictive residual decoding section315.

The second stage higher frequency codebook search section 314 specifiesone index m2H that minimizes the distortion for each j for the weightedEuclidean distortion d2H_(j,m2H) (j=1, . . . , N1, m2H=1, . . . , 64)supplied from the second stage higher frequency distortion calculationsection 311, records the specified N1 (j=1, . . . , N1) indices inN2Hcand[j] (j=1, . . . , N1) and outputs the recorded N1 N2Hcand[j](j=1, . . . , N1) to the predictive residual decoding section 315.

So far, the processing of the second stage vector quantizer of thesecond stage vector quantizer has been explained in detail. By the way,by the time the processing of the above-described second stage vectorquantizer is completed, N1 (j=1, . . . , N1) combinations of thefollowing four information pieces have been supplied to the predictiveresidual decoding section 315:

(1) N1cand_k[j]: Which of 4 sets of MA predictive coefficients ispreliminarily selected

(2) N1cand_m[j]: Which of 128 entries of first stage codevectors ispreliminarily selected

(3) N2Lcand[j]: Which of 64 entries of second stage lower frequencycodevectors is preliminarily selected

(4) N2Hcand[j]: Which of 64 entries of second stage higher frequencycodevectors is preliminarily selected

The following explanations of this embodiment will give details of theprocessing of specifying the combination number of the combinationinformation that minimizes CD from among N1 combination informationpieces supplied to the predictive residual decoding section 315 by theprocessing so far (the processing corresponding to the predictiveresidual decoding section 315, decoded LSF generation section 316,LSF/LPC coefficient conversion sections 317 and 319, LPC coefficient/LPCcepstrum conversion sections 318 and 320, LPC code final search section321).

The predictive residual decoding section 315 reads codevectors(C_(N1cand) _(—) _(m[j]), C₂L_(N2Lcand[j]) and C2H_(N2Hcand[j]))corresponding to 3 entries of index information (N1cand_m[j], N2Lcand[j]and N2Hcand[j]) from the first stage codebook 305, second stage lowerfrequency codebook 309 and second stage higher frequency codebook 312,respectively, calculates N1 (J=1, . . . , N1) decoded predictiveresidual vectors Cq_(j)[i] (i=1, . . . , N) according to Expression (9)below using those codevectors, records/retains the calculated decodedpredictive residual vectors and outputs the decoded predictive residualvectors to the decoded LSF generation section 316.Cq _(j) [i]=C _(N1cand) _(—) _(m[j]) [i]+C2L _(N2Lcand[j]) [i]+C2H_(N2Hcnad[j]) [i], j=1, . . . , N1,i=1, . . . ,N  Expression (9)where in Expression (9), C2L_(N2Lcand[j])[i]=0.0 (i=NL+1, . . . , N),C2H_(N2Hcand[j])[i]=0.0 (i=1, . . . , NL).

The predictive residual decoding section 315 also outputs N1cand_k[j](j=1=1, . . . , N1) to the decoded LSF generation section 316.

The decoded LSF generation section 316 reads MA_(N1cand) _(—)_(k[j])[0][i] corresponding to N1cand_k[j] (j=1, . . . , N1) suppliedfrom the predictive residual decoding section 315 from the predictivecoefficient codebook 302, calculates N1 (j=1, . . . , N1) decoded LSFparameters (hereinafter referred to as “LSFq_(j)[i], j=1, . . . , N1,i=1, . . . , N”) according to Expression (10) below using theMA_(N1cand) _(—) _(k[j])[0][i] read above, average LSF parameter AV[i](i=1, . . . , N) read from the average LSF storage section 323,X_(N1cand) _(—) _(k[j])[j] corresponding to N1cand_k[j] of thequantization target vector supplied from the predictive residualcalculation section 304 and Cqj[i] (i=1, . . . , N) supplied from thepredictive residual decoding section 315 and outputs the calculateddecoded LSF parameters to the LSF/LPC coefficient conversion section317.LSFq _(j) [i]=AV[i]+X _(N1cand) _(—) _(k[j]) [i]+MA _(N1cand) _(—)_(k[j])[0][i]*Cq _(j) [i], j=1, . . . , N1, i=1, . . . , N  Expression(10)

The LSF/LPC coefficient conversion section 317 converts N1 (j=1, . . . ,N1) decoded LSF parameters (LSFq_(j)[i], j=1, . . . , N1, i=1, . . . ,N) supplied from the decoded LSF generation section 316 to decoded LPCcoefficients (hereinafter referred to as “LPCqj[i], j=1, . . . , N1,i=1, . . . , N”) respectively, and outputs the decoded LPC coefficientsto the LPC coefficient/LPC cepstrum conversion section 318.

The LPC coefficient/LPC cepstrum conversion section 318 converts N1(j=1, . . . , N1) decoded LPC coefficients (LPCq_(j)[i], i=1, . . . , N)supplied from the LSF/LPC coefficient conversion section 317 to decodedLPC cepstra (hereinafter referred to as “QCEP_(j)[i], i=1, . . . , Nc,j=1, . . . , N1”) and outputs the decoded LPC cepstra to the LPC codefinal search section 321.

The LSF/LPC coefficient conversion section 319 converts the LSFparameters to LPC coefficients and outputs the LPC coefficients to theLPC coefficient/LPC cepstrum conversion section 320. The LPCcoefficient/LPC cepstrum conversion section 320 converts the LPCcoefficients supplied from the LSF/LPC coefficient conversion section319 to LPC cepstrum (hereinafter referred to as “CEP_(t)[i], i=1, . . ., Nc”) and outputs the LPC cepstrum to the LPC code final search section321.

The LPC code final search section 321 calculates a distortions DIS_(j)(j=1, . . . , N1) between the LPC cepstrum (CEP_(t)[i], i=1, . . . , Nc)supplied from the LPC coefficient/LPC cepstrum conversion section 320and N1 (j=1, . . . , N1) decoded LPC cepstra (QCEP_(j)[i], i=1, . . . ,Nc, j=1, . . . , N1) supplied from the LPC coefficient/LPC cepstrumconversion section 318 according to Expression (11) below and thencompares the sizes of DIS_(j) (j=1, . . . , N1) and specifies one index“J” that minimizes the distortion.

$\begin{matrix}{{{DIS}_{j} = {\sum\limits_{i = 1}^{N_{c}}\;\left( {{{CEP}_{t}(i)} - {{QCEP}_{j}(i)}} \right)^{2}}},} & \text{Expression~~(11)} \\{{j = 1},\ldots\mspace{11mu},{N\; 1}} & \;\end{matrix}$

By the way, it is obvious from the relationship between Expression (11)and Expression (3) that the same index is selected when the minimizationof Expression (11) above is used as a reference measure to specify theindex and when the minimization of CD in Expression (3) is used as areference measure to specify the index.

Then, 21-bit information combining the following four information itemscorresponding to the specified index “J”, that is:

(1) N1cand_k[j]: Which of 4 sets of MA predictive coefficients isoptimal (using 2 bits)

(2) N1cand_m[j]: Which of 128 entries of first stage codevectors isoptimal (using 7 bits)

(3) N2Lcand[j]: Which of 64 entries of second stage lower frequencycodevectors is optimal (using 6 bits)

(4) N2Hcand [j]: Which of 64 entries of second stage higher frequencycodevectors is optimal (using 6 bits) is output as an LPC code of therelevant processing frame (code to express spectral envelope informationon the processing frame section).

The LPC codebook search supplies the index J that minimizes DIS_(j) tothe predictive residual decoding section 315. Then, the predictiveresidual decoding section 315 selects vector Cq_(J)[i] (i=1, . . . , N)corresponding to the index J from among N1 (j=1, . . . , N1)retained/stored decoded predictive residual vectors Cq_(j)[i] (i=1, . .. , N) and outputs them to the decoding predictive residual storagesection 322.

The decoding predictive residual storage section 322 discards the oldestdecoded predictive residual vector of the decoded predictive residualvectors corresponding to a plurality of past frames stored (since thisembodiment carries out third-order MA prediction, the decoded predictiveresidual vectors corresponding to the past 3 frames are stored) andnewly retains Cq_(j)[i] (i=1, . . . , N) newly supplied from thepredictive residual decoding section 315 for MA prediction of the nextprocessing frame.

The explanation so far describes the content of a series of processesafter the LSF parameter is input to the vector quantization apparatusuntil the LPC code is output. On the other hand, the decoder of the LSFparameters output from the vector quantization apparatus (also thedecoder of the LPC coefficients obtained by converting the LSFparameters) can comprise a step of decomposing an LPC code into fourindex information pieces (N1cand_k[J], N1cand_m[J], N2Lcand[J] andN2Hcand[J]), a step of calculating a decoded predictive residual vectorbased on each piece of index information obtained in the step ofdecomposing an LPC code and a step of generating a decoded LSF vectorbased on the decoded predictive residual vector obtained in the step ofcalculating a decoded predictive residual vector. More specifically, inthe step of decomposing an LPC code, an LPC code is decomposed into fourindex information pieces (N1cand_k[J], N1cand_m[J], N2Lcand[J] andN2Hcand[J]) first. Then, in the step of calculating a decoded predictiveresidual vector, by reading the first stage codevector C_(N1cand) _(—)_(m[J]) from the first stage codebook 305 based on index informationN1cand_m[J], then reading the second stage lower frequency codevectorC2L_(N2Lcand[J]) from the second stage lower frequency codebook 309based on the index information N2Lcand[J], reading second stage higherfrequency codevector C2H_(N2Hcand[J]) from the second stage higherfrequency codebook 312 based on index information N2Hcand[J] andcarrying out the addition processing described in Expression (9) on thethree read vectors, it is possible to obtain a decoded predictiveresidual vector Cq_(j)[i] (i=1, . . . , N) corresponding to the LPCcode. Then, in the step of creating a decoded LSF vector, by readingMA_(N1cand) _(—k[J]) [0][i] corresponding to index informationN1cand_k[J] from the predictive coefficient codebook 302 and accordingto Expression (10) using the read MA_(N1cand) _(—) _(k[j])[0][i], theaverage LSF parameter AV[i] (i=1, . . . , N) read from the average LSFstorage section 323, X_(N1cand) _(—) _(k[J]) corresponding toN1cand_k[J] of the quantization target vector supplied from thepredictive residual calculation section 304 and Cq_(J)[i] (i=1, . . . ,N) supplied from the predictive residual decoding section 315, it ispossible to obtain a final decoded LSF parameter (herein after referredto as “LSFq_(J)[i], i=1, . . . , N”). By the way, when the decoded LSFparameter is further converted to a decoded LPC coefficient, it ispossible to provide a step having the same function as that of theLSF/LPC coefficient conversion section 317 after the above-describedstep of generating a decoded LSF vector.

When LSF parameters are vector-quantized, the vector quantizationapparatus having a 2-stage split structure using third-order MAprediction explained in detail so far preliminarily selects codes usinga weighted Euclidean distortion as a measure, and can thereby selectoptimum codes for the remaining candidates after the pre-selection usingCD (Cepstram Distortion) as a reference measure.

Therefore, using the vector quantization apparatus according to theembodiment above can solve the problem of the conventional technology(problem that an LPC code selected by the vector quantization apparatusdoes not match the index of the codevector that minimizes CD) withoutdrastically increasing the amount of calculation required for an LPCcodebook search and improve the performance of the LPC parameter vectorquantization apparatus.

By the way, according to the vector quantization apparatus of thepresent invention, the first stage VQ pre-selection section 307 controlsthe number of codevectors to be selected preliminarily and can therebyfreely control the increment in the amount of calculation required foran LPC codebook search as in the case of Embodiment 1. That is, thepresent invention can improve the performance of the vector quantizertaking account of the increment in the amount of calculation requiredfor an LPC codebook search.

Furthermore, this embodiment has described the case where the number ofcodevector candidates N1 left by the first stage VQ pre-selectionsection 307 is predetermined (N1 is often determined through experimentsor empirically to values such as 8, 16, 32 and 64), but it is alsopossible to use other pre-selection methods, for example, setting athreshold as a weighted Euclidean distortion and leaving candidateswhose weighted Euclidean distortion is smaller than the set threshold ascandidates after the pre-selection and similar effect/operation can beobtained in this case, too.

Furthermore, this embodiment has described the case where the firststage VQ pre-selection section 307 preliminarily selects codevectorsusing the weighted Euclidean distortion in Expression (2) above as ameasure, but the present invention can also be implemented when aweighted Euclidean distortion whose mathematical expression is differentfrom Expression (2) above such as Expression (8) or Expression (10) inthe aforementioned Document 4 is used, and similar effect/operation tothose of this embodiment can be obtained in this case, too.

By the way, with respect to “weight” of a weighted Euclidean distortion,various calculation methods have been proposed (e.g., the method ofcarrying out weighting according to a distortion between neighboringelements of LSF parameters described in Document 5 or the method ofcarrying out weighting according to a power spectrum of a quantizationtarget described in Document 6), but the present invention is applicableirrespective of the method of calculating “weight” and similareffect/operation can be obtained in this case, too.

Furthermore, this embodiment has described the case where input vectoris an LSF vector, but this embodiment is also applicable to cases whereother parameters expressing short-time spectral envelope information ofa speech signal such as LSP vector, PARCOR coefficients or an LPC vectoris vector-quantized and similar effect/operation can be obtained in thiscase, too.

Furthermore, this embodiment has described the case where the LPC codefinal search section 321 specifies a final LPC code using CD (CepstralDistortion) as a measure, but it is also possible to replace the LPCcoefficient/LPC cepstrum conversion sections 318 and 320 with the LPCcoefficient/FFT power spectrum calculation section having the functionof calculating an FFT power spectrum from the LPC coefficient andfurther changing the calculation expression carried out by the LPC codefinal search section 32 from Expression (11) above to the calculationexpression in the square root portion in Expression (4) above to use theSD (Spectral Distortion) as the final measure of the LPC code searchsection, and similar effect/operation can be obtained in this case, too.

Furthermore, this embodiment has described an example of a vectorquantizer having a specific structure called “2-stage split structureusing third-order MA prediction” for simplicity of explanation, but thisembodiment is also applicable to an LPC parameter vector quantizationapparatus having a structure other than this example and similareffect/operation can be obtained in this case, too.

This embodiment explained above is preferably applicable tocoding/decoding of short-time spectral envelope information of a speechsignal in a speech coder/decoder based on a CELP system or Vocodersystem.

Embodiment 3

FIG. 6 is a block diagram showing a configuration of a vectorquantization apparatus according to Embodiment 3. By the way, componentsof the vector quantization apparatus shown in FIG. 6 common to those inFIG. 5 explained in Embodiment 2 are assigned the same referencenumerals as those in FIG. 5 and detailed explanations thereof will beomitted.

The vector quantization apparatus shown in FIG. 6 adopts a configurationwith a lower frequency scaling factor codebook 350 and a higherfrequency scaling factor codebook 360 added to the vector quantizationapparatus in FIG. 5. By the way, in FIG. 6, components 301 to 306 and316 to 323 are omitted to make drawings easier to see.

By the way, as in the case of Embodiment 2, the configuration of thevector quantization apparatus strongly depends on the bit rate of theentire speech coder/decoder and the number of bits allocated to the LPCparameter vector quantization apparatus. Here, for simplicity ofexplanation, suppose bit information with 21 bits per processing frameof a time interval of 20 ms is assigned.

Furthermore, suppose the vector quantization apparatus which will beexplained in this embodiment also uses third-order MA (Moving Average)prediction technology and uses 4 sets of (2 bits required as switchinginformation) MA predictive coefficients per processing frame.Furthermore, suppose the vector quantization apparatus which will beexplained in this embodiment uses a 2-stage vector quantizationtechnology. Furthermore, suppose the vector quantization apparatus whichwill be explained in this embodiment uses a split vector quantizationtechnology for the second stage of the 2-stage vector quantizationapparatus. By the way, suppose that the first stage vector quantizer,the vector quantizer of the second stage lower frequency component andthe vector quantizer of the second stage higher frequency component areassigned 7 bits, 6 bits and 6 bits, respectively.

The vector quantization apparatus in FIG. 6 carries out processing afteran LSF parameter is input until a target vector of the first stagevector quantizer is obtained (processing corresponding to the weightcalculation section 301, predictive coefficient codebook 302, MApredictor 303 and predictive residual calculation section 304). By theway, the details of the processing are the same as those of theprocessing of the corresponding sections in Embodiment 2, and thereforeexplanations thereof will be omitted in this embodiment.

Then, the vector quantization apparatus in FIG. 6 carries out theprocessing by the first stage vector quantizer of the 2-stage vectorquantizer (processing corresponding to the first stage codebook 305,first stage distortion calculation section 306, first stage VQpre-search section 307 and first stage VQ residual calculation section308).

The processing of the first stage vector quantizer by the 2-stage vectorquantizer of the vector quantization apparatus according to thisembodiment will be explained in detail below.

The first stage codebook 305 stores 128 entries of predictive residualcodevectors. The 128 entries of predictive residual codevectors areacquired beforehand by carrying out the above-described series ofprocesses until a quantization target is calculated on speech signals inmany processing frames, obtaining many predictive residual vectors,applying an LBG algorithm to the many predictive residual vectorsobtained, extracting 128 entries of typical samples of predictiveresidual vectors and applying a generalization Lloyd algorithm disclosedin the aforementioned Document 8, etc., to the 128 entries of typicalvectors extracted.

The first stage distortion calculation section 306 calculates a weightedEuclidean distortion between a target vector (X_(k)[i], i=1, . . . , N)of the first stage vector quantizer supplied from the predictiveresidual calculation section 304 and a vector (MA_(k)[0][i]*C_(m)[i],i=1, . . . , N) obtained by multiplying the predictive residualcodevector (C_(m)[i], i=1, . . . , N) with index m read from the firststage codebook 305 by the current processing frame component(MA_(k)[0][i], i=1, . . . , N) of the MA predictive coefficientaccording to Expression (6) and outputs the calculated distortion valueto the first stage VQ pre-selection section 307. By the way, theweighted Euclidean distortion is calculated by the first stagedistortion calculation section 306 in the same way as for Embodiment 2in that the calculation is performed on all combinations (512=128×4) of4 sets (k=1, . . . , 4) of MA predictive coefficients used to generate128 entries (m=1, . . . , 128) of predictive residual codevectors(C_(m)[i], i=1, . . . , N) stored in the first stage codebook 305 andtarget vectors (X_(k)[i], i=1, . . . , N) supplied from the predictiveresidual calculation section 304. Therefore, a total of 512 distortionsd_(k,m)(k=1, . . . , 4, m=1, . . . , 128) are output from the firststage distortion calculation section 306 to the first stage VQpre-selection section 307 in this embodiment, too.

The first stage VQ pre-selection section 307 compares aforementiontioned512 distortions d_(k,m) (k=1, . . . , 4, m=1, . . . , 128) supplied fromthe first stage distortion calculation section 306, selects N1 types ofcombination information of k (to which third-order predictivecoefficient set of the 4 sets of third-order MA predictive coefficientscorresponds)and m (to which codevector of the 128 entries of codevectorsin the first stage codebook 305 corresponds), and records the selected kand m into N1cand_k[j] and N1cand_m[j] respectively, and outputs therecorded N1cand_k[j] and N1cand_m[j] (j=1, . . . , N1) to the firststage VQ residual calculation section 308, predictive residual decodingsection 315 and decoded LSF generation section 316. Furthermore,according to this embodiment, the first stage VQ pre-selection section307 also outputs N1cand_m[j] (j=1, . . . , N1) to the lower frequencyscaling factor codebook 350 and higher frequency scaling factor codebook360.

The first stage VQ residual calculation section 308 calculates N1 firststage VQ residual vectors X_(j) ⁽²⁾[i] (i=1, . . . , N, j=1, . . . , N1)that remain after carrying out pre-selection processing usingthird-order predictive coefficient set (read from the predictivecoefficient codebook 302) corresponding to information on N1combinations of N1cand_k[j] and N1cand_m[j] (j=1, . . . , N1) suppliedfrom the first stage VQ pre-selection section 307 and codevectors (readfrom the first stage codebook 305) in the first stage codebook accordingto Expression (7) and outputs the calculated N1 vectors to the secondstage lower frequency distortion calculation section 310 and secondstage higher frequency distortion calculation section 311.

By the way, as in the case of Embodiment 2, suppose the second stagevector quantizer of this embodiment also has a split structure,decomposing (splitting) the first stage VQ residual vector into a lowerfrequency components (i=1, . . . , NL) and higher frequency components(i=NL+1, . . . , N) and vector-quantizing the respective vectorsseparately.

Therefore, X_(j) ⁽²⁾[i] (i=1, . . . , N, j=1, . . . , N1) calculated bythe first stage VQ residual vector calculation section 308 is output tothe second stage lower frequency distortion calculation section 310 andsecond stage higher frequency distortion calculation section 311 inaccordance with the configuration of the second stage vector quantizer.More specifically, X_(j) ⁽²⁾[i] (i=1, . . . , NL, j=1, . . . , N1) isoutput to the second stage lower frequency distortion calculationsection 310 and X_(j) ⁽²⁾[i] (i=NL+1, . . . , N, j=1, . . . , N1) isoutput to the second stage higher frequency distortion calculationsection 311.

This is the explanation of the processing by the first stage vectorquantizer of the 2-stage vector quantizer.

The vector quantization apparatus in FIG. 6 then performs the processingby the second stage vector quantizer of the 2-stage vector quantizer(processing corresponding to the second stage lower frequency codebook309, lower frequency scaling factor codebook 350, second stage lowerfrequency distortion calculation section 310, second stage higherfrequency distortion calculation section 311, higher frequency scalingfactor codebook 360, second stage higher frequency codebook 312, secondstage lower frequency codebook search section 313 and second stagehigher frequency codebook search section 314). Thus, this embodimentwill also explain the processing by the aforementioned second stagevector quantizer of the 2-stage vector quantizer in detail below.

By the way, suppose that the second stage lower frequency codebook 309stores 64 entries of second stage lower frequency codevectors(C2L_(m2L)[i], i=1, . . . , NL, m2L=1, . . . , 64) and the second stagehigher frequency codebook 312 stores 64 entries of second stage higherfrequency codevectors (C2H_(m2H)[i], i=NL+1, . . . , N, m2H=1, . . . ,64).

Furthermore, the lower frequency scaling factor codebook 350 has thefunction of storing as many (128 entries in this embodiment) lowerfrequency scaling factors (SF_low[j], j=1, 2, . . . , N1) as thepredictive residual codevectors stored in the first stage codebook 305and the function of outputting the lower frequency scaling factors(SF_low[N1cand_m[j]]) corresponding to N1cand_m[j] supplied from thefirst stage VQ pre-selection section 307 to the second stage lowerfrequency distortion calculation section 310 and predictive residualdecoding section 315. Furthermore, the higher frequency scaling factorcodebook 360 has the function of storing as many (128 entries in thisembodiment) lower frequency scaling factors (SF_high[j], j=1, 2, . . . ,N1) as the predictive residual codevectors stored in the first stagecodebook 305 and the function of outputting the lower frequency scalingfactors (SF_high[N1cand_m[j]]) corresponding to N1cand_m[j] suppliedfrom the first stage VQ pre-selection section 307 to the second stagehigher frequency distortion calculation section 311 and the predictiveresidual decoding section 315. By the way, suppose that the lowerfrequency scaling factors (SF_low[j], j=1,2, . . . , N1) and higherfrequency scaling factors (SF_high[j], j=1,2, . . . , N1) store valuesin the range 0.5 to 2.0 acquired beforehand by a training consisting ofthe LBG algorithm and the generalized Lloyd algorithm.

The second stage lower frequency distortion calculation section 310calculates a weighted Euclidean distortion between the lower frequencycomponent X_(j) ⁽²⁾[i] (i=1, . . . , NL, j=1, . . . , N1) of the firststage VQ residual vector supplied from the first stage VQ residualcalculation section 308 and a vector (MA_(N1cand) _(—)_(k[j])[0][i]*SF_low[N1cand_m[j]]*C2L_(m2L)[i], i=1, . . . , NL)obtained by multiplying the second stage lower frequency codevector(C2L_(m2L)[i], i=1, . . . , NL) with index m2L read from the secondstage lower frequency codebook 309 by SF_low[N1cand_m[j]] supplied fromthe lower frequency scaling factor codebook 350 and the currentprocessing frame component (MA_(N)1cand _(—) _(k[j])[0][i], i=1, . . . ,NL) of the MA predictive coefficient according to Expression (12) belowand outputs the calculated distortion value d₂L_(j,m2L) to the secondstage lower frequency codebook search section 313.

$\begin{matrix}\begin{matrix}{{d2L}_{j,{m2L}} = {\sum\limits_{i = 1}^{NL}\;\left\{ {{w\lbrack i\rbrack}*\left( {{X_{j}^{(2)}\lbrack i\rbrack} -} \right.} \right.}} \\{M\;{{A_{{N1cand\_ k}{\lbrack j\rbrack}}\lbrack 0\rbrack}\lbrack i\rbrack}*} \\{\left. \quad\left. \quad{{{SF}_{\_ low}\left\lbrack {N\; 1{{cand\_ m}\lbrack j\rbrack}} \right\rbrack}*{{C2L}_{m2L}\lbrack i\rbrack}} \right) \right\}^{2},}\end{matrix} & \text{Expression~~(12)} \\{{j = 1},\cdots\mspace{11mu},{N\; 1},{{m\; 2L} = 1},\cdots\mspace{11mu},64} & \;\end{matrix}$where w[i] in Expression (12) is the same “weight” as that in Expression(6).

By the way, suppose that the second stage lower frequency distortioncalculation section 310 carries out distortion calculation according toExpression (12) above on the 64 entries of codevectors stored in thesecond stage lower frequency codebook 309 for each of N1 pieces of jspecified by the first stage VQ pre-selection section 307 and outputsall the calculated weighted Euclidean distortions d2L_(j,m2L)(j=1, . . ., N1, m2L=1, . . . , 64) to the second stage lower frequency codebooksearch section 313 (a total of N1*64 d2L_(j,m2L) are output).

The second stage higher frequency distortion calculation section 311calculates a weighted Euclidean distortion between a higher frequencycomponent X_(j) ⁽²⁾[i] (i=NL+1, . . . , N, j=1, . . . , N1) of the firststage VQ residual vectors supplied from the first stage VQ residualcalculation section 308 and a vector (MA_(N1cand) _(—)_(k[j])[0][i]*SF_high[N1cand_m[j]]*C2H_(m2H)[i], i=NL+1, . . . , N)obtained by multiplying the second stage higher frequency codevector(C2H_(m2H)[i], i=NL+1, . . . , N) with index m2H read from the secondstage higher frequency codebook 312 by SF_high[N1cand_m[j]] suppliedfrom the higher frequency scaling factor codebook 360 and the currentprocessing frame component (MA_(N1cand) _(—) _(k[j])[0][i], i=NL+1, . .. , N) of the MA predictive coefficient according to Expression (13)below and outputs the calculated distortion value d2H_(j,m2H) to thesecond stage higher frequency codebook search section 314.

$\begin{matrix}\begin{matrix}{{d2H}_{j,{m2L}} = {\sum\limits_{i = {{NL} + 1}}^{NL}\;\left\{ {{w\lbrack i\rbrack}*\left( {{X_{j}^{(2)}\lbrack i\rbrack} -} \right.} \right.}} \\{M\;{{A_{{N1cand\_ k}{\lbrack j\rbrack}}\lbrack 0\rbrack}\lbrack i\rbrack}*} \\{{{SF}_{\_ high}\left\lbrack {N\; 1{{cand\_ m}\lbrack j\rbrack}} \right\rbrack}*} \\{\left. \left. {{C2H}_{m2H}\lbrack i\rbrack} \right) \right\}^{2},}\end{matrix} & \text{Expression~~(13)} \\{{j = 1},\cdots\mspace{11mu},{N\; 1},{{m\; 2H} = 1},\cdots\mspace{11mu},64} & \;\end{matrix}$where w[i] in Expression (13) is the same “weight” as that in Expression(6).

By the way, suppose that the second stage higher frequency distortioncalculation section 311 carries out distortion calculation according toExpression (13) above on the 64 entries of codevectors stored in thesecond stage higher frequency codebook 309 for each of N1 pieces of jspecified by the first stage VQ pre-selection section 307 and outputsall the calculated weighted Euclidean distortions d2H_(j,m2H) (j=1, . .. , N1, m2H=1, . . . , 64) to the second stage higher frequency codebooksearch section 313 (a total of N1*64 d2H_(j,m2H) are output).

The second stage lower frequency codebook search section 313 specifiesone index m2L that minimizes the distortion for each j for the weightedEuclidean distortion d2L_(j,m2L) (j=1, . . . , N1, m2L=1, . . . , 64)supplied from the second stage lower frequency distortion calculationsection 310, records the specified N1 (j=1, . . . , N1) indices inN2Lcand[j] (j=1, . . . , N1) and outputs the recorded N1 pieces ofN2Lcand[j] (j=1, . . . , N1) to the predictive residual decoding section315.

The second stage higher frequency codebook search section 314 specifiesone index m2H that minimizes the distortion for each j for the weightedEuclidean distortion d2H_(j,m2H) (j=1, . . . , N1, m2H=1, . . . , 64)supplied from the second stage lower frequency distortion calculationsection 310, records the specified N1 (j=1, . . . , N1) indices inN2Hcand[j] (j=1, . . . , N1) and outputs the recorded N1 pieces ofN2Hcand[j] (j=1, . . . , N1) to the predictive residual decoding section315.

This is the explanation of the processing by the second stage vectorquantizer of the second stage vector quantizer. By the way, by the timethe processing by the above-described second stage vector quantizer iscompleted, N1 (j=1, . . . , N1) pieces of combination information withthe following four information items have been supplied to thepredictive residual decoding section 315.

(1) N1cand_k[j]: Which of 4 sets of MA predictive coefficients ispreliminarily selected

(2) N1cand_m[j]: Which of 128 entries of first stage codevectors ispreliminarily selected

(3) N2Lcand[j]: Which of 64 entries of second stage lower frequencycodevectors is preliminarily selected

(4) N2Hcand[j]: Which of 64 entries of second stage higher frequencycodevectors is preliminarily selected

The following explanations of this embodiment will give details of theprocessing of specifying the combination number of information oncombinations of information that minimizes CD from among N1 pieces ofcombination information supplied to the predictive residual decodingsection 315 (processing corresponding to the predictive residualdecoding section 315, decoded LSF generation section 316, LSF/LPCcoefficient conversion sections 317 and 319, LPC coefficient/LPCcepstrum conversion sections 318 and 320 and LPC code final searchsection 321).

The predictive residual decoding section 315 reads the first stagecodevector C_(N1cand) _(—) _(m[j]), lower frequency scaling factorSF_low[N1cand_m[j]] and higher frequency scaling factorSF_high[N1cand_m[j]] from the first stage codebook 305, lower frequencyscaling factor codebook 350 and higher frequency scaling factor codebook360, respectively, based on the supplied index information N1cand_m[j]and further reads the second stage lower frequency codevectorC2L_(N2Lcand[j]) from the second stage lower frequency codebook 309based on the supplied index information N2Lcand[j], further reads thesecond stage higher frequency codevector C2H_(N2Hcand[j]) from thesecond stage higher frequency codebook 312 based on the supplied indexinformation N2Hcand[j], and calculates N1 (J=1, . . . , N1) decodedpredictive residual vectors Cq_(j)[i] (i=1, . . . , N) according toExpression (14) using those codevectors, records/retains the calculateddecoded predictive residual vectors and outputs them to the decoded LSFgeneration section 316.Cq _(j) [i]=C _(N1cand) _(—) _(m[j]) [i]+SF _(—) _(low) [N1cand _(—)m[j]]*C2L _(N2Lcand[j]) [i]+SF _(—high) [N1cand_(—) m[j]]*C2H_(N2Hcand[j]) [i], j=1, . . . , N1, i=1, . . . , N  Expression (14)where in Expression (14), C2L_(N2Lcand[j])[i]=0.0 (i=NL+1, . . . , N),C2H_(N2Hcand[j])[i]=0.0 (i=1, . . . , NL).

The predictive residual decoding section 315 also outputs N1cand_k[j](j=1=1, . . . , N1) to the decoded LSF generation section 316.

The decoded LSF generation section 316 reads MA_(N1cand) _(—)_(k[j])[0][i] corresponding to N1cand_k[j] (j=1, . . . , N1) suppliedfrom the predictive residual decoding section 315 from the predictivecoefficient codebook 302, calculates N1 (j=1, . . . , N1) decoded LSFparameters (hereinafter referred to as “LSFq_(j)[i], j=1, . . . , N1,i=1, . . . , N”) according to Expression (10) using the read MA_(N1cand)_(—) _(k[j])[0][i], average LSF parameter AV[i] (i=1, . . . , N) readfrom the average LSF storage section 323, X_(N1cand) _(—) _(k[j])[i]corresponding to N1cand_k[j] of the quantization target vector suppliedfrom the predictive residual calculation section 304 and Cq_(j)[i] (i=1,. . . , N) supplied from the predictive residual decoding section 315and outputs the calculated decoded LSF parameters to the LSF/LPCcoefficient conversion section 317.

The LSF/LPC coefficient conversion section 317 converts N1 (j=1, . . . ,N1) decoded LSF parameters (LSFq_(j)[i], j=1, . . . , N1, i=1, . . . ,N) supplied from the decoded LSF generation section 316 to decoded LPCcoefficients (hereinafter referred to as “LPCq_(j)[i], j=1, . . . , N1,i=1, . . . , N”) and outputs the decoded LPC coefficients to the LPCcoefficient/LPC cepstrum conversion section 318.

As in the case of Embodiment 2, the LPC coefficient/LPC cepstrumconversion section 318 converts N1 (j=1, . . . , N1) decoded LPCcoefficients (LPCq_(j)[i], i=1, . . . , N) supplied from the LSF/LPCcoefficient conversion section 317 to decoded LPC cepstra (hereinafterreferred to as “QCEP_(j)[i], i=1, . . . , Nc, j=1, . . . , N1”) andoutputs the decoded LPC cepstra to the LPC code final search section321.

The LSF/LPC coefficient conversion section 319 converts the LSFparameters to LPC coefficients and outputs the LPC coefficients to theLPC coefficient/LPC cepstrum conversion section 320. The LPCcoefficient/LPC cepstrum conversion section 320 converts the LPCcoefficients supplied from the LSF/LPC coefficient conversion section319 to LPC cepstra (hereinafter referred to as “CEP_(t)[i], i=1, . . . ,Nc”) and outputs the LPC cepstra to the LPC code final search section321.

The LPC code final search section 321 first calculates distortionsDIS_(j) (j=1, . . . , N1) between the LPC cepstrum coefficients(CEP_(t)[i], i=1, . . . , Nc) supplied from the LPC coefficient/LPCcepstrum conversion section 320 and N1 (j=1, . . . , N1) decoded LPCcepstra (QCEP_(j)[i], i=1, . . . , Nc, j=1, . . . , N1) supplied fromthe LPC coefficient/LPC cepstrum conversion section 318 according toExpression (11), compares the sizes of the calculated N1 pieces ofDIS_(j), specifies one index “J” that minimizes DIS_(j) and outputs21-bit information combining the following four information itemscorresponding to the specified index “J”, that is:

(1) N1cand_k[J]: Which of 4 sets of MA predictive coefficients isoptimal (using 2 bits)

(2) N1cand_m[J]: Which of 128 entries of first stage codevectors isoptimal (using 7 bits)

(3) N2Lcand[J]: Which of 64 entries of second stage lower frequencycodevectors is optimal (using 6 bits)

(4) N2Hcand[J]: Which of 64 entries of second stage higher frequencycodevectors is optimal (using 6 bits) as an LPC code of the relevantprocessing frame (code to express spectral envelope information on theprocessing frame section).

As in the case of Embodiment 2, the LPC code final search section 321also supplies index J that minimizes DISj to the predictive residualdecoding section 315.

Then, the predictive residual decoding section 315 selects vectorsCq_(J)[i] (i=1, . . . , N) corresponding to the index J from among N1(j=1, . . . , N1) retained/stored decoded predictive residual vectorsCq_(j)[i] (i=1, . . . , N) and outputs the vectors to the decodingpredictive residual storage section 322.

The decoding predictive residual storage section 322 discards the oldestdecoded predictive residual vector out of the decoded predictiveresidual vectors corresponding to a plurality of past stored frames (thedecoded predictive residual vectors corresponding to the past 3 framesare stored because this embodiment carries out third-order MAprediction) and newly retains Cq_(J)[i] (i=1, . . . , N) newly suppliedfrom the predictive residual decoding section 315 for MA prediction inthe next processing frame.

The explanation so far describes the content of the series of processesafter LSF parameters are input to the vector quantization apparatusuntil LPC codes are output.

On the other hand, the decoder for LSF parameters output from the vectorquantization apparatus (also the decoder for LPC coefficients obtainedby converting the LSF parameters) can be constructed of a step ofdecomposing an LPC code into four pieces of index information(N1cand_k[J], N1cand_m[J], N2Lcand[J] and N2Hcand[J]), a step ofcalculating decoded predictive residual vectors based on each piece ofindex information obtained in the step of decomposing an LPC code and astep of generating decoded LSF vectors based on the decoded predictiveresidual vectors obtained in the step of calculating decoded predictiveresidual vectors. More specifically, in the step of decomposing an LPCcode, an LPC code is decomposed into four pieces of index information(N1cand_k[J], N1cand_m[J], N2Lcand[J] and N2Hcand[J]) first. Then, inthe step of calculating decoded predictive residual vectors, by readingfirst stage codevector C_(N1cand) _(—) _(m[j]), lower frequency scalingfactor SF_low[N1cand_m[j]] and higher frequency scaling factorSF_high[N1cand_m[j]] from the first stage codebook 305, lower frequencyscaling factor codebook 350 and higher frequency scaling factor codebook360 based on index information N1cand_m[J], then reading the secondstage lower frequency codevector C2L_(N2Lcand[J]) from the second stagelower frequency codebook 309 based on index information N2Lcand[J],further reading the second stage higher frequency codevectorC2H_(N2Hcand[J]) from the second stage higher frequency codebook 312based on the index information N2Hcand[J] and using 3 entries of vectorand 2 entries of scaling factors read to carry out sum of productsprocessing according to Expression (14), it is possible to acquiredecoded predictive residual vector Cq_(J)[i] (i=1, . . . , N)corresponding to the LPC code. Then, in the step of generating a decodedLSF vector, by reading MA_(N1cand) _(—) _(k[j])[0][i] corresponding toindex information N1cand_k[J] from the predictive coefficient codebook302, and according to Expression (10) using the read MA_(N1cand) _(—)_(k[J])[0][i], average LSF parameter AV[i] (i=1, . . . , N) read fromthe average LSF storage section 323, X_(N1cand) _(—) _(k[J])corresponding to N1cand_k[j] of the quantization target vector suppliedfrom the predictive residual calculation section 304 and Cq_(J)[i] (i=1,. . . , N) supplied from the predictive residual decoding section 315,it is possible to obtain final decoded LSF parameter (hereinafterreferred to as “LSFq_(J)[i], i=1, . . . , N”). By the way, when thedecoded LSF parameter is further converted to a decoded LPC coefficient,it is possible to further provide a step having the same function asthat of the LSF/LPC coefficient conversion section 317 after the step ofgenerating the decoded LSF vector.

According to the vector quantization apparatus having a 2-stage splitstructure using third-order MA prediction further equipped with thelower frequency scaling factor codebook 350 and higher frequency scalingfactor codebook 360 explained in detail above, it is possible to adaptthe contribution of the second stage codevector in the whole decodingvector to the codevector C_(N1cand) _(—) _(m[j]) (actually indexN1cand_m[j] corresponding to codevector C_(N1cand) _(—) _(m[j]))selected in the first stage vector quantization processing and controlit, and thereby reduce quantization distortion, carry out pre-selectionof a code using the weighted Euclidean distortion as a measure andselect an optimum code using CD (Cepstram Distortion) as a referencemeasure for the remaining candidates after the pre-selection, whichmakes it possible to vector-quantize LSF parameters with high accuracycompared to the conventional vector quantization apparatus.

By the way, according to the vector quantization apparatus of thisembodiment as in the case of Embodiment 2, it is possible to freelycontrol the increment in the amount of calculation required for an LPCcodebook search by controlling the number of codevectors to bepreliminarily selected by the first stage VQ pre-selection section 307.That is, this embodiment makes it possible to improve the performance ofthe vector quantizer while considering the increment in the amount ofcalculation required for an LPC codebook search.

Furthermore, this embodiment has described the case where the number ofcandidates N1 of codevectors left by the first stage VQ pre-selectionsection 307 (N1 is often determined to values such as 8, 16, 32 and 64through experiments or empirically), but it is also possible to useother pre-selection methods such as setting a threshold for the weightedEuclidean distortion and leaving candidates whose weighted Euclideandistortion is smaller than the set threshold as the candidates after thepre-selection and similar effect/operation can be obtained in this case,too.

Furthermore, this embodiment has described the case where the firststage VQ pre-selection section 307 preliminarily selects codevectorsusing the weighted Euclidean distortion in Expression (2) as a measure,but this embodiment can also be implemented when a weighted Euclideandistortion according to expressions different from Expressions (8) and(10) in the aforementioned Document 4 is used, and an effect/operationsimilar to those of this embodiment can be obtained in this case, too.

By the way, with respect to “weight” of the weighted Euclideandistortion, various calculation methods have been proposed so far (e.g.,a method of carrying out weighting according to a distortion betweenneighboring elements of LSF parameters described in Document 5 or amethod of carrying out weighting according to a power spectrum of aquantization target described in Document 6), but the present inventionis applicable irrespective of the “weight” calculation method and asimilar effect/operation can be obtained in this case, too.

Furthermore, this embodiment has described the case where input vectorsare LSF parameters, but this embodiment is also applicable to a casewhere other parameters expressing short-time spectral envelopeinformation of a speech signal such as LSP parameter, PARCOR coefficientand LPC coefficient are vector-quantized and a similar effect/operationcan be obtained in this case, too.

Furthermore, this embodiment has described the case where the LPC codefinal search section 321 specifies a final LPC code using CD (CepstralDistortion) as a measure, but it is also possible to replace the LPCcoefficient/LPC cepstrum conversion sections 318 and 320 with an LPCcoefficient/FFT power spectrum calculation section having the functionof calculating an FFT power spectrum from LPC coefficients and furtherchange the calculation expression used by the LPC code final searchsection 321 from Expression (11) to the calculation expression in thesquare root portion in Expression (4) to use SD (Spectral Distortion) asthe final measure of the LPC code search section and a similareffect/operation can be obtained in this case, too.

Furthermore, this embodiment has described the vector quantizer having aspecific structure called “2-stage split structure using third-order MAprediction accompanied by scaling factors” as an example, but thisembodiment is also applicable to an LPC parameter vector quantizationapparatus having a structure other than this example and a similareffect/operation can be obtained in this case, too.

The above-described embodiment is preferably applicable tocoding/decoding of short-time spectral envelope information on speechsignals of a speech coder/decoder based on a CELP system or Vocodersystem.

Embodiment 4

FIG. 7 is a block diagram showing a configuration of a speech signaltransmission apparatus and reception apparatus according to Embodiment 4of present invention. In FIG. 7, a speech signal is converted to anelectric signal by an input apparatus 401 of the transmission apparatusand output to an A/D conversion apparatus 402. The A/D conversionapparatus 402 converts the (analog) speech signal output from the inputapparatus 401 to a digital signal and outputs the signal to a speechcoder 403.

The speech coder 403 codes the digital speech signal output from the A/Dconversion apparatus 402 using a speech coding method, which will bedescribed later, and outputs the coded information to an RF modulationapparatus 404. The RF modulation apparatus 404 converts the speech codedinformation output from the speech coder 403 to a signal to be carriedon a propagation medium such as a radio frequency band and outputs thesignal to a transmission antenna 405. The transmission antenna 405 sendsthe output signal output from the RF modulation apparatus 404 as a radiosignal (RF signal).

The RF signal sent from the transmission apparatus is received by areception antenna 406 of the reception apparatus and output to an RFdemodulation apparatus 407. The RF demodulation apparatus 407demodulates speech coded information from the RF signal output from thereception antenna 406 and outputs it to the speech decoder 408.

The speech decoder 408 decodes the speech signal according to a speechdecoding method, which will be described later, using the speech codedinformation output from the RF demodulation apparatus 407 and outputs itto a D/A conversion apparatus 409. The D/A conversion apparatus 409converts the digital speech signal output from the speech decoder 408 toan analog electric signal and outputs it to an output apparatus 410. Theoutput apparatus 410 converts the electric signal to air vibration andoutputs it as sound wave audible to human ears.

By providing at least one of the speech signal transmission apparatusand reception apparatus in the above-described configuration, it ispossible to construct a base station apparatus and communicationterminal apparatus in a mobile communication system.

The above-described speech signal transmission apparatus ischaracterized by the speech coder 403. FIG. 8 is a block diagram showinga configuration of the speech coder 403. In FIG. 8, an input speechsignal is the signal output from the A/D conversion apparatus 402 inFIG. 7 and input to a pre-processing section 501. The pre-processingsection 501 carries out high pass filter processing for removing a DCcomponent, waveform shaping processing and pre-emphasis processing whichwill lead to a performance improvement of the subsequent codingprocessing on the input speech signal and outputs the processed signalto an LPC analysis section 502, an adder 505 and a parameter decisionsection 513 (Xin).

The LPC analysis section 502 carries out a linear predictive analysisusing Xin and outputs the result (LPC vector/LPC coefficients) to an LPCquantization section 503. The LPC quantization section 503 converts theLPC vector output from the LPC analysis section 502 to an LSF parameterand vector-quantizes the LSF vector obtained through the conversionusing the method shown in Embodiments 1, 2 and 3 and outputs the LPCcode (L) obtained by vector quantization to a multiplexing section 514.

The LPC quantization section 503 further obtains decoded LPC vector inthe LSF domain using the LPC vector decoding method shown in Embodiments1, 2 and 3, converts the decoded LPC(LSF) vector obtained to decoded LPCcoefficients and outputs the decoded LPC coefficients obtained by theconversion to a synthesis filter 504.

The synthesis filter 504 carries out a filter synthesis using thedecoded LPC coefficients and an excitation vector output from an adder511 and outputs the synthesis signal to the adder 505. The adder 505calculates an error signal between Xin and the synthesis signal andoutputs the error signal to a perceptual weighting section 512.

The perceptual weighting section 512 carries out perceptual weighting onthe error signal output from the adder 505, calculates distortionbetween Xin and the synthesis signal in the perceptual weighted domainand outputs it to the parameter decision section 513. The parameterdecision section 513 decides the signal to be generated from an adaptiveexcitation codebook 506, a fixed excitation codebook 508 andquantization gain generation section 507 so that the coding distortionoutput from the perceptual weighting section 512 is minimized.

By the way, it is also possible to further improve the codingperformance not only by minimizing the coding distortion output from theperceptual weighting section 512 but also by deciding the signal to begenerated from the three means using another coding distortion usingXin.

The adaptive excitation codebook 506 buffers excitation signals outputin the past from the adder 511, extracts adaptive excitation vectorsfrom the position specified by a signal (A) output from the parameterdecision section 513 and outputs them to a multiplier 509. The fixedexcitation codebook 508 outputs vectors having a shape specified by asignal (F) output from the parameter decision section 513 to amultiplier 510.

The quantization gain generation section 507 outputs the adaptiveexcitation gain and fixed excitation gain specified by a signal (G)output from the parameter decision section 513 to the multipliers 509and 510 respectively.

The multiplier 509 multiplies the adaptive excitation vector output fromthe adaptive excitation codebook 506 by the quantization adaptiveexcitation gain output from the quantization gain generation section 507and outputs the multiplication result to the adder 511. The multiplier510 multiplies the fixed excitation gain output from the fixedexcitation codebook 508 by the fixed excitation vector output from thequantization gain generation section 507 and outputs the multiplicationresult to the adder 511.

The adder 511 inputs the adaptive excitation vector and fixed excitationvector after the gain multiplication from the multipliers 509 and 510respectively, carries out a vector addition and outputs the additionresult to the synthesis filter 504 and the adaptive excitation codebook506.

Finally, the multiplexing section 514 inputs a code L representing aquantization LPC from the LPC quantization section 503, inputs a code Arepresenting an adaptive excitation vector, a code F representing afixed excitation vector and a code G representing a quantization gainfrom the parameter decision section 513 and multiplexes these pieces ofinformation and outputs the multiplexed information as coded informationto a transmission path.

FIG. 9 is a block diagram showing a configuration of the speech decoder408 in FIG. 7. In FIG. 9, the multiplexed coded information output fromthe RF demodulation section 407 is demultiplexed into individual codedinformation pieces by a demultiplexing section 601.

A demultiplexed LPC code L is output to an LPC decoding section 602, ademultiplexed adaptive excitation vector code A is output to an adaptiveexcitation codebook 605, a demultiplexed excitation gain code G isoutput to a quantization gain generation section 606 and a demultiplexedfixed excitation vector code F is output to a fixed excitation codebook607.

An LPC decoding section 602 acquires a decoded LPC vector from the codeL (which means the LPC code in Embodiments 1, 2 and 3) output from thedemultiplexing section 601 using the decoded LPC vector generationmethod shown in Embodiments 1, 2 and 3, converts the acquired decodedLPC vector to decoded LPC coefficients and outputs the decoded LPCcoefficients obtained by the conversion to a synthesis filter 603.

The adaptive excitation codebook 605 extracts an adaptive excitationvector from a position specified by the code A output from thedemultiplexing section 601 and outputs it to a multiplier 608. The fixedexcitation codebook 607 generates a fixed excitation vector specified bythe code F output from the demultiplexing section 601 and outputs it toa multiplier 609.

The quantization gain generation section 606 decodes the adaptiveexcitation vector gain and fixed excitation vector gain specified by theexcitation gain code G output from the demultiplexing section 601 andoutputs the gains to multipliers 608 and 609 respectively. Themultiplier 608 multiplies the adaptive codevector by the adaptivecodevector gain and outputs the multiplication result to an adder 610.The multiplier 609 multiplies the fixed codevector by the fixedcodevector gain and outputs the multiplication result to the adder 610.

The adder 610 adds up the adaptive excitation vector and the fixedexcitation vector after the gain multiplication output from themultipliers 608 and 609 and outputs the addition result to the synthesisfilter 603. The synthesis filter 603 carries out a filter synthesisusing the excitation vector output from the adder 610 as a sound sourcesignal and a synthesis filter constructed with the decoded LPCcoefficients supplied from the LPC decoding section 602 as the filtercoefficient, and outputs the synthesized signal to a post-processingsection 604.

The post-processing section 604 carries out processing of improvingsubjective speech quality such as formant emphasis and/or pitchemphasis, and processing of improving subjective speech quality ofstationary noise segments, etc., and outputs the processed signal as afinal decoded speech signal.

Thus, applying the LPC vector quantization apparatus according to thepresent invention to a speech coder/decoder makes it possible to obtainsynthesized speech of higher quality than that of a speech coder/decoderusing a conventional vector quantization apparatus.

Furthermore, the above-described speech coder/decoder is also applicableto a communication apparatus such as a base station apparatus and mobilestation in a digital radio communication system. This makes it possibleto obtain synthesized speech of higher quality than that using aconventional vector quantization apparatus in a digital radiocommunication system.

The present invention is not limited to Embodiments 1 to 3 above, butcan be implemented modified in various ways. For example, the vectorquantization/decoding of an LPC vector according to Embodiments 1, 2 and3 has been explained as a vector quantization apparatus or speechcoder/speech decoder, but vector quantization/decoding of an LPC vectorcan also be implemented by software. For example, it is possible tostore the above-described LPC vector quantization/decoding program in aROM and execute the program according to instructions from a CPU.Furthermore, it is possible to store an LPC vector quantization/decodingprogram in a computer-readable storage medium, record the LPC parametervector quantization/decoding program of this storage medium in a RAM ofa computer and operate it according to the vector quantization program.An operation/effect similar to those of Embodiments 1, 2 and 3 above canalso be obtained in this case, too.

As is apparent from the above-described explanations, when LPCparameters representing short-time spectral envelope information of aspeech signal are vector-quantized, the present invention canpreliminarily select a small number of codevectors using a (weighted)Euclidean distortion as a measure, carry out a codebook search(specification of a final LPC code) using an amount of distortion of aspectral space such as CD (Cepstram Distortion) or SD (SpectralDistortion) as a reference measure, and consequently provide a vectorquantizer with higher performance than the conventional vectorquantization apparatus using only a (weighted) Euclidean distortion as areference measure for a codebook search (distortion in a spectral spacesuch as CD and SD is smaller than the conventional one).

Furthermore, applying the LPC vector quantization apparatus according tothe present invention to a speech coder/decoder makes it possible toobtain synthesized speech of higher quality than that of a speechcoder/decoder using a conventional vector quantization apparatus.

This application is based on the Japanese Patent ApplicationNo.2000-366191 filed on Nov. 30, 2000, entire content of which isexpressly incorporated by reference herein.

INDUSTRIAL APPLICABILITY

The present invention is preferably applicable to a speech coder/decoderused to enhance the speech signal transmission efficiency in the fieldsof a packet communication system represented by Internet communicationand a mobile communication system, etc.

1. An LPC parameter vector quantization apparatus comprising: adistortion calculator that calculates distortion between a plurality ofcodevectors successively read from an LSF codebook storing a pluralityof LSF codevectors and a target quantization using a first distortionevaluation measure; an LPC code pre-selector that preliminarily selectsindices of codevectors that reduce the amount of distortion according tosaid first distortion evaluation measure, from said plurality of LSFcodevectors, and that generates decoded LSF parameters corresponding tothe respective preliminarily selected indices; a first parameterconvertor that converts said decoded LSF parameters to first distortioncalculation parameters, respectively, with which distance of a spectrumcan be calculated; a second parameter convertor that converts an LSFparameter comprising said quantization target to a second distortioncalculation parameter with which distance of a spectrum can becalculated; and an LPC code final searcher that calculates distortionbetween said second distortion calculation parameter, obtained byconverting said quantization target and supplied from said secondparameter convertor, and said first distortion calculation parameters,obtained by converting said decoded LSF parameters and supplied fromsaid first parameter convertor, using a second distortion evaluationmeasure that is different from said first distortion evaluation measure,and that outputs, as an LPC code, an index of an LSF codevectorcorresponding to said first distortion calculation parameter thatminimizes the amount of distortion according to said second distortionevaluation measure.
 2. The LPC parameter vector quantization apparatusaccording to claim 1, wherein the first distortion evaluation measure isa Euclidean distortion.
 3. The LPC parameter vector quantizationapparatus according to claim 1, wherein the first distortion evaluationmeasure is a weighted Euclidean distortion.
 4. The LPC parameter vectorquantization apparatus according to claim 1, wherein the seconddistortion evaluation measure is cepstrum distortion (CD).
 5. The LPCparameter vector quantization apparatus according to claim 1, whereinthe second distortion evaluation measure is spectrum distortion (SD). 6.The LPC parameter vector quantization apparatus according to claim 1that carries out predictive vector quantization.
 7. The LPC parametervector quantization apparatus according to claim 1 that carries outsplit vector quantization.
 8. The LPC parameter vector quantizationapparatus according to claim 1 that carries out predictive vectorquantization and split vector quantization.
 9. An LPC parameter decodercomprising: an input that inputs an LPC code output by the vectorquantization apparatus according to claim 1; and a reader section thatreads an arbitrary codevector from the same codebook as the LSF codebookof said vector quantization apparatus, wherein the codevectorcorresponding to said LPC code is read from said codebook and the readcodevector is output as a decoded LPC parameter.
 10. A speech decodercomprising: a parameter decoder that decodes parameters representingspectrum characteristics encoded by a speech coder, using the LPCparameter decoder according to claim 9; a fixed excitation codebook; anadaptive excitation codebook that represents a cyclic component of asynthesized speech signal; and an excitation vector decoder that decodesexcitation vectors determined by said speech coder from said fixedexcitation codebook and said adaptive excitation codebook andsynthesizes a synthesized speech signal from the decoded excitationvector and said parameters.
 11. A speech signal reception apparatus thatis equipped with a speech decoder, comprising: a decoder that decodesparameters representing spectrum characteristics encoded by a speechcoder, using the LPC parameter decoder according to claim 9; a fixedexcitation codebook; an adaptive excitation codebook that represents acyclic component of a synthesized speech signal; and an excitationvector decoder that decodes excitation vectors determined by said speechcoder from said fixed excitation codebook and said adaptive excitationcodebook and synthesizes a synthesized speech signal from the decodedexcitation vector and said parameters.
 12. A speech coder comprising: asection that quantizes/encodes spectrum characteristics of an inputspeech signal, using the LPC parameter vector quantization apparatusaccording to claim 1; an adaptive excitation codebook that represents acyclic component of an input speech signal; a fixed excitation codebook;a synthesizer that synthesizes a synthesized speech signal usingexcitation vectors generated from said fixed excitation codebook andsaid adaptive excitation codebook, and said parameters; and a determinerthat determines outputs from said fixed codebook and said adaptivecodebook to decrease distortion between an input speech signal and saidsynthesized speech signal.
 13. A speech signal transmission apparatusthat is equipped with a speech coder, comprising: a section thatquantizes/encodes spectrum characteristics of an input speech signal,using the LPC parameter vector quantization apparatus according to claim1; an adaptive excitation codebook that represents a cyclic component ofan input speech signal; a fixed excitation codebook; a synthesizer thatsynthesizes a synthesized speech signal using excitation vectorsgenerated from said fixed excitation codebook and said adaptiveexcitation codebook and said parameters; and a determiner thatdetermines outputs from said fixed codebook and said adaptive codebookto decrease distortion between an input speech signal and saidsynthesized speech signal.
 14. An LPC parameter vector quantizationapparatus comprising: a Euclidean distortion calculator that calculatesa Euclidean distortion between codevectors successively read from an LSFcodebook storing a plurality of LSF codevectors and a quantizationtarget; an LPC code pre-selector that preliminarily selects codevectorindices that reduce said Euclidean distortion and that generates decodedLSF parameters corresponding to the respective preliminarily selectedindices; a first LSF/LPC coefficient convertor that converts saiddecoded LSF parameters to the respective decoded LPC coefficients; afirst LPC coefficient/LPC cepstrum convertor that converts said decodedLPC coefficients to the respective LPC cepstra; a second LSF/LPCcoefficient converter that converts an LSF parameter comprising saidquantization target to an LPC coefficient; a second LPC coefficient/LPCcepstrum convertor that converts said LPC coefficient, obtained byconverting said quantization target, to an LPC cepstrum; an LPC codefinal searcher that calculates cepstrum distortion (CD) between LPCcepstra obtained by converting said quantization target and suppliedfrom said first and second LPC coefficient/LPC cepstrum converters andthe LPC cepstra obtained by converting said decoded LSF parameters, andthat outputs, as an LPC code, the index of the LSF codevectorcorresponding to an LPC cepstrum that minimizes said cepstrumdistortion.
 15. An LPC parameter decoder comprising: an input thatinputs the LPC code output by the LSF parameter vector quantizationapparatus according to claim 14; and a reader that reads an arbitrarycodevector from the same codebook as the codebook used for vectorquantization, wherein the codevector corresponding to said input LPCcode is read from said codebook and output as a decoded LPC parameter.16. An LPC parameter vector quantization apparatus comprising: aEuclidean distortion calculator that calculates a Euclidean distortionbetween codevectors successively read from an LSF codebook storing aplurality LSF codevectors and a quantization target; an LPC codepre-searcher that preliminarily selects codevector indices that reducesaid Euclidean distortion and that generates decoded LSF parameterscorresponding to the respective preliminarily selected indices; anLSF/LPC coefficient convertor that converts said decoded LSF parametersto their respective decoded LPC coefficients; a first LPCcoefficient/FFT power spectrum calculator that calculates FFT powerspectra from said decoded LPC coefficients; an LSF/LPC coefficientconvertor that converts an LSF parameter comprising said quantizationtarget to an LPC coefficient; a second LPC coefficient/FFT powerspectrum calculator that calculates an FFT power spectrum from said LPCcoefficient obtained by converting said quantization target; and an LPCcode final searcher that calculates spectrum distortion (SD) between FFTpower spectra obtained by converting said quantization target andsupplied from said first and second LPC coefflcient/FFT power spectrumcalculators and the FFT power spectra obtained by converting saiddecoded LSF parameters, and that outputs, as an LPC code, the LSFcodevector index corresponding to an FFT power spectrum that minimizessaid spectrum distortion.
 17. An LSF parameter vector quantizationapparatus having a two-stage split configuration that calculates adifferential vector by differentiating a prestored average LSF parameterfrom an input LSF parameter, that calculates a predictive vectorcorresponding to said differential vector, that calculates a predictiveresidual vector by further differentiating said predictive vector fromsaid differential vector, that vector- quantizes said predictiveresidual vector and outputs an LPC code, said quantization apparatuscomprising: a first stage vector quantization section thatvector-quantizes said predictive residual vector using a plurality ofpredictive residual vectors stored in a first stage codebook and using aweighted Euclidean distortion as a distortion evaluation measure; and asecond stage vector quantization section that vector-quantizes a firststage VQ residual vector generated by said first stage vectorquantization section using a plurality of first stage VQ residual vectorlower frequency components stored in a second stage lower frequencycodebook and first stage VQ residual vector higher frequency componentsstored in a second stage higher frequency codebook and using cepstrumdistortion (CD) as a distortion evaluation measure.
 18. An LSF parameterdecoder that decomposes the LPC code output by the vector quantizationapparatus according to claim 17 into index information, calculates adecoded predictive residual vector based on said index information andgenerates a decoded LSF parameter based on said decoded predictiveresidual vector, wherein said LSF parameter decoder is configured toread a first stage codevector corresponding to said index information,second stage lower frequency codevector and second stage higherfrequency codevector from the respective codebooks, to add said threeread codevectors and to generate a decoded predictive residual vector.19. An LPC coefficient decoder that converts the decoded LSF parametergenerated by the LSF parameter decoder according to claim 18 to adecoded LPC coefficient.
 20. An LSF parameter vector quantizationapparatus having a two-stage split configuration that calculates adifferential vector by differentiating a prestored average LSF parameterfrom an input LSF parameter, that calculates a predictive vectorcorresponding to said differential vector, that calculates a predictiveresidual vector by further differentiating said predictive vector fromsaid differential vector, vector- quantizes said predictive residualvector and that outputs an LPC code, said quantization apparatuscompnsing: a first stage vector quantization section thatvector-quantizes said predictive residual vector using a plurality ofpredictive residual vectors stored in a first stage codebook and using aweighted Euclidean distortion as a distortion evaluation measure; and asecond stage vector quantization section that vector-quantizes a firststage VQ residual vector generated by said first stage vectorquantization section using the same number of entries of lower frequencyscaling factors as predictive residual vectors stored in a lowerfrequency scaling factor codebook, the same number of entries of higherfrequency scaling factors as predictive residual vectors stored in thefirst stage codebook stored in a higher frequency scaling factorcodebook and higher frequency codevectors stored in the second stagehigher frequency codebook and using cepstrum distortion (CD) as adistortion evaluation measure.
 21. An LSF parameter decoder thatdecomposes the LPC code output by the vector quantization apparatusaccording to claim 20 into index information, calculates a decodedpredictive residual vector based on said index information and generatesdecoded LSF parameter based on said decoded predictive residual vector,wherein said LSF parameter decoder read is configured to a first stagecodevector corresponding to said index information, second stage lowerfrequency codevector, second stage higher frequency codevector, lowerfrequency scaling factor and higher frequency scaling factor from therespective codebooks, to calculate a sum of products of said three readcodevectors and two scaling factors and to generate a decoded predictiveresidual vector.
 22. An LPC coefficient decoder that converts thedecoded LSF parameter generated by the parameter decoder according toclaim 21 to a decoded LPC coefficient.